此代碼作用於攝像頭模組實拍圖片檢測壞點。用到的算子是動態閾值分割,實現邏輯是,實拍圖轉灰度圖,然后進行動態閾值分割獲得壞點。最后在原圖上框出壞點。
1 *此文件夾包含待測實拍圖 2 list_files ('E:/1(1)/1(1)', 'files', Files) 3 l:=|Files| 4 *設置畫框規格 5 dev_set_draw ('margin') 6 dev_set_line_width (1) 7 *循環每張圖進行local_threshold獲取黑點即壞點 8 for i := 1 to l-1 by 1 9 read_image (Image, Files[i]) 10 rgb1_to_gray (Image, GrayImage) 11 dev_display (GrayImage) 12 dev_display (Rectangle) 13 local_threshold (GrayImage, Region, 'adapted_std_deviation', 'dark', [], []) 14 *獲取壞點並計算數量 15 connection (Region, ConnectedRegions) 16 count_obj (ConnectedRegions, Number) 17 if (Number!=0) 18 *循環畫框 19 for j := 1 to Number by 1 20 select_obj (ConnectedRegions, ObjectSelected, j) 21 area_center (ObjectSelected, Area, Row, Column) 22 gen_rectangle2 (Rectangle, Row, Column, 0, 20, 20) 23 24 endfor 25 endif 26 27 endfor
效果圖如下: