halcon中的fit_line_contour_xld拟合效果是比较好的,可以有效剔除异常点的干扰,从参数Algorithm可以看出它使用的是加权最小二乘法,huber、tukey、drop、gauss表示不同的权重函数,权重函数的输入是一个距离(即点到直线的距离),距离越大权重越小,距离越小权重越大。我也使用了此方法同时配合ransac,增加了抽样点个数、...
segment_contours_xld:可分割’lines’,‘lines_circles’,‘lines_ellipses’,原理是多边形逼近,逼近程度通过算子中后两个阀值参数控制。 联合算子: 临近:union_adjacent_contours_xld (Operator) 共线:union_collinear_contours_xld (Operator) 共圆:union_cocircular_contours_xld (Operator) 5、 拟合 fit_line_con...
通过使用affinetranscontourxld算子,我们可以对图像中的对象进行旋转、平移和缩放等几何变换操作。 第二步:函数的语法和参数 affinetranscontourxld算子的语法如下: affinetranscontourxld (Contour : AffineTrans : Row : Column) 该函数有四个参数: 1. Contour:表示输入轮廓的XLD对象。 2. AffineTrans:表示输出的...
halcon中fit_circle_contour_xld算子同样集成了几何拟合与代数拟合,并引入权重函数(huber和tukey),tukey直接去除异常点,huber削减异常点的影响,所有内点到拟合圆的距离标准差被用来评估拟合过程的好坏。我没有完全按照halcon中的去实现,而是随机选择至少三点拟合圆,评估误差和内点数量,迭代过程结束后选取误差最小或内点数...
算子:regress_contours_xld 5.根据轮廓特征选择有限的XLD 算子:select_coutours_xld 6.合并直线XLD 算子:union_collinear_contours_xld 7.拟合出直线 算子:fit_line_contour_xld 详情见我的另一篇博文: Halcon拟合系列(2)直线/圆/椭圆/矩形拟合算子fit_line_contour_xld/fit_circle_contour_xld/..._$firecat全...
5、xld的分割及直线拟合 6、圆及椭圆的拟合 7、中心线的提取 1、图像边缘提取原理 网上搜索图像边缘提取,有很多详细的讲解,就是讲的都太深奥,很难看明白。图像边缘提取原理并不复杂,至于一些大牛提供的复杂变换公式,也没必要深入的去研究,halcon都已经在算子中将其封装好了,我们会用就行。
fit_circle_contour_xld 参数Algorithm的可选项解释如下: algebraic:这种方法减少了轮廓点与结果圆之间的代数距离 ahuber:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Huber atukey:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Tukey
fit_line_contour_xld通过线段逼近XLD轮廓。它不执行输入轮廓的分割。因此,我们必须确保每个轮廓对应一个...
fit_line_contour_xld (SelectedXLD,'tukey', -1,0,5,2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)*对XLD轮廓做近似直线计算--拟合直线--获得直线数据*参数1:输入轮廓*参数2:形成线的算法*regression:回归,标准的最小二乘法拟合*huber:加权的最小二乘法拟合,异常值的影响被减小基于Huber方法...
1. read_contour_xld_arc_info 功能:从用ARC/INFO生成格式表示的文件读取XLD轮廓。 2. read_contour_xld_dxf 功能:从一个DXF文件中读取 XLD轮廓。 3. read_polygon_xld_arc_info 功能:从用ARC/INFO生成格式表示的文件读取XLD多边形。 4. read_polygon_xld_dxf 功能:从一个DXF文件中读取 XLD多边形。 5. ...