直接用blob找圆- read_image (Image, 'C:/Users/Administrator/Desktop/halcon案例分析教材/论坛/求大神指点!!/111.jpg')
- dev_set_draw('margin')
- threshold (Image, Regions, 182, 255)
- connection (Regions, ConnectedRegions)
- select_shape (ConnectedRegions, SelectedRegions, ['roundness','area'], 'and', [0.7325,1995.6], [1,37043.5])
- fill_up (SelectedRegions, RegionFillUp)
- opening_circle (RegionFillUp, RegionOpening, 7)
- count_obj (RegionOpening, Number)
- gen_empty_obj (EmptyObject)
- for i := 1 to Number by 1
- select_obj (RegionOpening, ObjectSelected, i)
- smallest_circle (ObjectSelected, Row, Column, Radius)
- gen_circle (Circle, Row, Column, Radius)
- Row1:=[Row-Radius,Row,Row+Radius,Row,Row-Radius]
- Col1:=[Column,Column+Radius,Column,Column-Radius,Column]
- spoke (Image, Regions1, 30, 10, 5, 1, 15, 'positive', 'first', Row1, Col1, 'inner', ResultRow, ResultColumn, ArcType)
- pts_to_best_circle (Circle1, ResultRow, ResultColumn, 10, 'circle', RowCenter, ColCenter, Radius1)
- concat_obj (Circle1, EmptyObject, EmptyObject)
- endfor
- dev_display (Image)
- dev_display (EmptyObject)
复制代码 |