基于亚像素边缘检测的齿轮内孔计算 union_adjacent_contours_xld。 (5)对合并好的轮廓可以拟合圆参数fit_circle_contour_xld。 (6)产生圆gen_circle_contour_xld。...域是一个圆环区域的话,那就运行骨架算子skeleton得到圆环区域的骨架,然后用gen_contours_skeleton_xld生
fit_circle_contour_xld (xld, 'algebraic', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder) *对XLD轮廓做近似圆计算--拟合圆--获得圆数据 *参数1:输入xld轮廓 *参数2:圆的拟合算法 * 'ahuber' 对轮廓点进行加权,以减少异常值的影响 * 'algebraic' 这种方法使轮廓点和生成...
halcon中fit_circle_contour_xld算子同样集成了几何拟合与代数拟合,并引入权重函数(huber和tukey),tukey直接去除异常点,huber削减异常点的影响,所有内点到拟合圆的距离标准差被用来评估拟合过程的好坏。我没有完全按照halcon中的去实现,而是随机选择至少三点拟合圆,评估误差和内点数量,迭代过程结束后选取误差最小或内点数...
fit_circle_contour_xld(Contours : : Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, ...
fit_circle_contour_xld是一个用于拟合圆轮廓的最小二乘法算子。它通常用于图像处理或计算机视觉中,以从一组轮廓点数据中估计圆的参数。 最小二乘法是一种数学优化技术,它通过最小化误差的平方和来找到最佳函数匹配。在拟合圆轮廓的情况下,最小二乘法算子会尝试找到一组参数(如圆心坐标和半径),以最小化实际...
Connection(hoRegion,hoNewRegion) SelectShape(hoNewRegion,hoSelect,'area','and',56000,999999) FillUp(hoSelect,FillUpRegion) GenContourRegionXld(FillUpRegion,Contours,'') FitCircleContourXld(Contours,'','','','','','',Row,Column,Radius,SP,SE,PO)...
halcon中的fit_line_contour_xld拟合效果是比较好的,可以有效剔除异常点的干扰,从参数Algorithm可以看出它使用的是加权最小二乘法,huber、tukey、drop、gauss表示不同的权重函数,权重函数的输入是一个距离(即点到直线的距离),距离越大权重越小,距离越小权重越大。我也使用了此方法同时配合ransac,增加了抽样点个数...
fit_circle_contour_xld 参数Algorithm的可选项解释如下: algebraic:这种方法减少了轮廓点与结果圆之间的代数距离 ahuber:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Huber atukey:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Tukey
fit_circle_contour_xldreturns 2 (H_MSG_TRUE) if all parameter values are correct, and circles could be fitted to the input contours. If the input is empty the behaviour can be set viaset_system('no_object_result',<Result>). If necessary, an exception is raised. If the parameterClipping...