函数原型:
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