halcon知识:圆度和紧凑度
生活随笔
收集整理的這篇文章主要介紹了
halcon知识:圆度和紧凑度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、說明
????????本文是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 1dev_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。
總結
以上是生活随笔為你收集整理的halcon知识:圆度和紧凑度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Halcon知识:如何画出灰度图像直方图
- 下一篇: halcon的算子清点: Chapter