目录
一、说明
本文是halcon知识:select_shape究竟怎么用(1)的继续,关于select_shape的用途说的还不够,因为这些属性很多,有必要分开介绍。
二、圆度和紧凑度的直观演示
2.1 圆度的解释
圆度概念:如果 F 是区域的面积,max 是中心到所有轮廓像素的最大距离,则形状因子 C 定义为:
对于下面图片中的若干个区域中,各个部件的圆度是多大?
select_shape(rig_Regions,SelectedRegions, ‘circularity’, ‘and’, 0, 1)
其效果是:
2.2紧凑度(’compactness’)的解释
如果 L 是轮廓的长度(参见 contlength),F 是区域的面积,则形状因子 C 定义为:
注意:圆的紧凑度最小为1;其它任意形状紧凑度大于1,比如:下图紧凑度为67.
read_image(Image,'d:/images/circles/compack')
get_image_size(Image, Width, Height)
dev_open_window(0, 0, Width, Height, 'black', WindowHandle1)
dev_open_window(0, 0, Width, Height, 'black', WindowHandle2)
disp_image(Image, WindowHandle1)
threshold(Image, Region, 100, 160)
connection(Region, rig_Regions)
region_features(rig_Regions,'compactness', Values)
select_shape(rig_Regions,SelectedRegions, 'compactness', 'and', 0, 1000)
tuple_string(Values, '.3f', StrVal)
set_display_font (WindowHandle2, 14, 'mono', 'true', 'false')
count_obj (SelectedRegions, Number)
for i:=1 to Number by 1
dev_set_color ('yellow')
select_obj (SelectedRegions, tmp_obj, i )
area_center (tmp_obj, Area, Row1, Column1)
set_tposition (WindowHandle2, Row1, Column1)
dev_set_color ('red')
write_string (WindowHandle2, StrVal[i-1 ])
* disp_message (WindowHandle, 'min: ' + StrVal, 'image', Row1, Column1 , 'black', 'true')
endfor
结论:圆度和紧凑度很相关的量,圆度一般介于【0,1】之间,正方形圆度为0.63;紧凑度介于
,其中正方形接近1.8,最紧凑的图形是圆,紧凑度为1。Original: https://blog.csdn.net/gongdiwudu/article/details/122116997
Author: 无水先生
Title: halcon知识:圆度和紧凑度
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/645085/
转载文章受原作者版权保护。转载请注明原作者出处!