Halcon算子之fit_circle_contour_xld,用于圆拟合XLD轮廓

来源:互联网 发布:java messagequeue 编辑:程序博客网 时间:2024/06/05 07:17

函数原型:

 

fit_circle_contour_xld( Contours : : Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor : Row, Column, Radius, StartPhi, EndPhi, PointOrder )

 

函数作用:

对一些线段的XLD做近似计算直线计算

参数Algorithm的可选项解释如下:

algebraic:这种方法减少了轮廓点与结果圆之间的代数距离

ahuber:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Huber

atukey:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Tukey

geometric:该法减少了轮廓点与结果圆之间的几何距离,该法被统计是最优的,但占用很多计算时间。如果轮廓点被噪声干扰严重,可以考虑使用该方法。

geohuber:类似于geometric,轮廓点被加权以减小异常值的影响基于方法Huber

geotukey:类似于geometric,轮廓点被加权以减小异常值的影响基于方法Tukey

 

ClippingFactor控制被弱化的异常值个数,值越小,越多异常值被检测到。

最小拟合一条线的必要轮廓点个数是2,因此,一条轮廓线点个数至少是2+2*ClippingEndPoints

 

参数列表:

Contours(in):输入轮廓

Algorithm(in):拟合圆的算法

MaxNumPoints(in):用于计算的最大轮廓点个数

MaxClosureDist(in):一个轮廓的末尾点最大间距被认为是闭合

ClippingEndPoints(in):在逼近过程中被忽略的开始及末尾点个数

Iterations(in):迭代的最大次数用于鲁棒加权拟合

ClippingFactor(in):消除异常值的裁剪因子

Row(out):圆心行坐标

Col(out):圆心列坐标

Radius(out):圆半径

StartPhi(out):开始点的角度(rad)

EndPhi(out):末尾点的角度(rad)

PointOrder(out):边界点的顺序

 

可能前置项:

gen_contours_skeleton_xld, lines_gauss, lines_facet, edges_sub_pix, smooth_contours_xld

 

可能后置项:

gen_ellipse_contour_xld, disp_circle, get_points_ellipse

 

可替代项:

fit_ellipse_contour_xld, fit_line_contour_xld

1 0
原创粉丝点击