Halcon:腐蝕或開運算后region個數并未改變


1. 問題

??現有如下圖片,對其進行腐蝕并統計前后region個數。

* 采集圖形并設置窗口
read_image (Image, 'C:/Users/lenovo/Desktop/1.PNG')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_set_draw ('margin')
dev_set_line_width (2)
* dev_display (Image)

* 將RGB三通道圖片轉換成單通道圖片
decompose3 (Image, Blue, Green, Red) 
* 閾值化
threshold (Red, Regions, 0, 230)
* 分割區域
(Regions, ConnectedRegions)
count_obj (ConnectedRegions, Number)
dev_display (ConnectedRegions)
disp_message (WindowHandle, 'before: '+Number, 'window', 0, 0, 'black', 'true')
* 膨脹圖片
erosion_circle (ConnectedRegions, RegionErosion, 1.5)
count_obj (RegionErosion, Number1)
dev_clear_window ()
dev_display (RegionErosion)
disp_message (WindowHandle, 'after  : '+Number1, 'window', 0, 0, 'black', 'true')

??erosion_circle前,region個數為16erosion_circle后,圖片中可看到的region個數為8,但實際region個數仍為16

2. 分析

??在變量窗口 -> 圖像變量選擇ConnectedRegions,右鍵點擊顯示目錄->選擇...可看到腐蝕前region的詳細信息。

??在變量窗口 -> 圖像變量選擇RegionErosion,右鍵點擊顯示目錄->選擇...可看到腐蝕后region的詳細信息。

??比較region前后變化可發現,erosion_circle只是將region相應的值縮小為0region個數并未改變。

3. 修改方法

??先使用select_shape篩掉面積為0或中心為(0,0)的region,再用count_obj統計region個數。

* 采集圖形并設置窗口
read_image (Image, 'C:/Users/lenovo/Desktop/1.PNG')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_set_draw ('margin')
dev_set_line_width (2)
* dev_display (Image)

* 將RGB三通道圖片轉換成單通道圖片
decompose3 (Image, Blue, Green, Red) 
* 閾值化
threshold (Red, Regions, 0, 230)
* 分割區域
connection (Regions, ConnectedRegions)
count_obj (ConnectedRegions, Number)
dev_display (ConnectedRegions)
disp_message (WindowHandle, 'before: '+Number, 'window', 0, 0, 'black', 'true')
* 膨脹圖片并篩選
erosion_circle (ConnectedRegions, RegionErosion, 1.5)
select_shape (RegionErosion, SelectedRegions, 'area', 'and', 1, 1000000)
count_obj (SelectedRegions, Number1)
dev_clear_window ()
dev_display (SelectedRegions)
disp_message (WindowHandle, 'after  : '+Number1, 'window', 0, 0, 'black', 'true')
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。