機器視覺的測量原理
基于機器視覺的檢測程序:對感興趣的物件或區域進行成像,然后結合其影像資訊,利用影像處理軟體進行處理,根據處理結果自動判斷檢測物件的位置,尺寸,外觀資訊,并依據人為預先設定的標準進行合格與否的判斷,最后輸出其判斷資訊給執行機構,機器視覺檢測系統采用CCD相機或CMOS相機將被檢測的物件資訊轉換成影像信號,傳送給專用的影像處理軟體,影像處理軟體根據像素分布,亮度,顏色等資訊,將影像信號,轉變成數字化信號,并對這些信號進行各種運算,來抽取物件的特征,如面積,數量,位置,長度等,再根據預設的值和其他條件輸出結果,包括尺寸,角度,個數,合格/不合格,存在/不存在,等等,以此實作自動檢測的功能,
事實表明,基于機器視覺的影像測量,具有良好的連續性,穩定性,也保證了測量精度,
算子:
distance_pp () 測量兩點之間的距離
distance_ss () 測量兩線段之間的距離
distance_cc () 測量兩輪廓之間的距離
distance_rr_min () 測量兩區域之間的距離
angle_ll () 測量兩條直線之間的夾角

*關閉視窗
dev_close_window ()
*打開視窗
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*讀取影像
read_image (Image, 'printer_chip/printer_chip_01')
*選擇區域
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
*生成區域
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
*裁剪區域
reduce_domain (Image, Rectangle, ImageReduced)
*提取亞像素輪廓
edges_sub_pix (ImageReduced, Edges, 'canny', 1, 20, 40)
*分割輪廓
segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 4, 2)
*選擇特征輪廓
select_shape_xld (ContoursSplit, SelectedXLD, 'phi', 'and', -2, 2)
*選擇物件1
select_obj (SelectedXLD, ObjectSelected1, 1)
*擬合直線1
fit_line_contour_xld (ObjectSelected1, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
*生成直線1
gen_contour_polygon_xld (Contour1, [RowBegin,RowEnd+500], [ColBegin,ColEnd])
*選擇物件2
select_obj (SelectedXLD, ObjectSelected2, 2)
*擬合直線2
fit_line_contour_xld (ObjectSelected2, 'tukey', -1, 0, 5, 2, RowBegin1, ColBegin1, RowEnd1, ColEnd1, Nr1, Nc1, Dist1)
*生成直線2
gen_contour_polygon_xld (Contour2, [RowBegin1,RowEnd1+500] ,[ColBegin1,ColEnd1])
*獲取兩條直線間的距離
distance_cc (Contour1, Contour2, 'point_to_point', DistanceMin, DistanceMax)
*將距離值顯示在視窗
disp_message (WindowHandle, DistanceMin, 'window', 50, 50, 'black', 'true')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300837.html
標籤:其他
