关于halcon拟合圆的算法例子

拟合圆,拟合直线,拟合其它形状,原理都差不多.掌握一种方法,其它都差不多.

直接上干货代码,废话不多说

list_files (‘circle’, ‘follow_links’, Files)
list_image_files (‘.’,[] ,[] , ImageFiles)
FileCount:=|ImageFiles|-1
for i:=0 to FileCount by 1
read_image (Circle, ImageFiles[i])

mean_image (Circle, ImageMean, 3, 3)
scale_image (ImageMean, ImageScaled, 1.38587, -98)
edges_sub_pix (ImageScaled, Edges1, ‘canny’, 6, 10, 30)
segment_contours_xld (Edges1, ContoursSplit, ‘lines_circles’, 5, 4, 2)
union_adjacent_contours_xld (ContoursSplit, UnionContours, 10, 1, ‘attr_keep’)
select_shape_xld (UnionContours, SelectedXLD, ‘max_diameter’, ‘and’, 158.6, 190.79)
select_shape_xld (SelectedXLD, SelectedXLD1, [‘max_diameter’,‘circularity’], ‘and’, [156.6,0.67799], [190.79,2])
fit_circle_contour_xld (SelectedXLD1, ‘geotukey’, -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
gen_circle_contour_xld (ContCircle, Row, Column, Radius, StartPhi, EndPhi, ‘positive’, 1)
union_cocircular_contours_xld (ContCircle, UnionContours1, StartPhi, StartPhi, StartPhi, 30, 10, 10, ‘true’, 1)
union2_closed_contours_xld (UnionContours1, SelectedXLD1, ContoursUnion)
fit_circle_contour_xld (ContoursUnion, ‘geotukey’, -1, 0, 0, 3, 2, Row1, Column1, Radius1, StartPhi1, EndPhi1, PointOrder1)
gen_circle_contour_xld (ContCircle1, Row1, Column1, Radius1, StartPhi1, EndPhi1, ‘positive’, 1)
gen_cross_contour_xld (Cross, Row1, Column1, 16, StartPhi1)
dev_display (Circle)
dev_set_line_width (3)
dev_display (Cross)
dev_display (ContCircle1)
stop()
endfor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值