HALCON示例程序count_pellets.hdev分割豆子,基本形態學的使用
示例程序源碼(加注釋)
- 關于顯示類函數解釋
dev_update_off ()
read_image (Image, ‘pellets’)
dev_close_window ()
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, ‘black’, WindowID)
dev_set_part (0, 0, Height - 1, Width - 1)
set_display_font (WindowID, 16, ‘mono’, ‘true’, ‘false’)
dev_set_colored (6)
dev_set_draw (‘margin’)
dev_set_line_width (3)
dev_display (Image)
disp_message (WindowID, ‘Detect each single pellet’, ‘window’, 12, 12, ‘black’, ‘true’)
disp_continue_message (WindowID, ‘black’, ‘true’)
stop () - 之前介紹binary_threshold 算子的文章
binary_threshold (Image, LightRegion, ‘max_separability’, ‘light’, UsedThreshold) - 使用圓形元素進行開運算
opening_circle (LightRegion, Region, 3.5)
dev_display (Region)
disp_message (WindowID, ‘First, segment the pellets’, ‘window’, 12, 12, ‘black’, ‘true’)
disp_continue_message (WindowID, ‘black’, ‘true’)
stop () - 篩選出直接分割連通域的錯誤演示,因為這個時候還有豆子黏連在一起。
connection (Region, ConnectedRegionsWrong)
dev_display (Image)
dev_display (ConnectedRegionsWrong)
disp_message (WindowID, ‘Simple connection fails’, ‘window’, 12, 12, ‘black’, ‘true’)
disp_continue_message (WindowID, ‘black’, ‘true’)
stop () - 使用圓形元素進行腐蝕運算
erosion_circle (Region, RegionErosion, 7.5)
dev_display (Image)
dev_display (RegionErosion)
disp_message (WindowID, ‘Erosion of the pellet regions’, ‘window’, 12, 12, ‘black’, ‘true’)
disp_continue_message (WindowID, ‘black’, ‘true’)
stop () - 現在進行連通域分割
connection (RegionErosion, ConnectedRegions)
dev_display (Image)
dev_display (ConnectedRegions)
disp_message (WindowID, ‘Perform connection now’, ‘window’, 12, 12, ‘black’, ‘true’)
disp_continue_message (WindowID, ‘black’, ‘true’)
stop () - 恢復豆子原本區域,使用圓形元素進行膨脹。
dilation_circle (ConnectedRegions, RegionDilation, 7.5) - 對區域進行計數
count_obj (RegionDilation, Number)
dev_display (Image)
dev_display (RegionDilation)
disp_message (WindowID, Number + ’ pellets detected’, ‘window’, 12, 12, ‘black’, ‘true’)
處理思路
這個例子是主要講解了形態學在分割連通域當中的應用。dilation_circle 、erosion_circle 、opening_circle 。
后記
大家有什么問題可以向我提問哈,我看到了第一時間回復,希望在學習的路上多多結交良師益友。