halcon之共线连接union_collinear_contours_xld
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了halcon之共线连接union_collinear_contours_xld相关的知识,希望对你有一定的参考价值。
union_collinear_contours_xld很多时候当我们用edges_sub_pix, threshold_sub_pix 等算子得到边缘后,因为有噪声、物体本身断裂等原因 很多边缘是共线但是断裂的
如下图所示,提取键盘的网格,左图有很多共线线段,右图为共线连接后的结果
更详细信息可查阅自带例程:measure_grid.hdev
![技术分享](https://image.cha138.com/20200617/0429b27084294f15a6ae8fb1d3ab1d81.jpg)
![技术分享](https://image.cha138.com/20200617/6b08a88ba8364973ac11b95b912c688f.jpg)
一个更直观的例子提取网格,左图因为网格有交叉点通过edges_sub_pix得到是断裂的网格线,右图为union_collinear_contours_xld的结果
![技术分享](https://image.cha138.com/20200617/e548dd9c07fe4134b681b8b33570740b.jpg)
![技术分享](https://image.cha138.com/20200617/1d2ef404c9b3473fa36f1adbbc0a216c.jpg)
union_collinear_contours_xld参数详解:
MaxDistAbs: 沿参考回归线方向轮廓端点的最大距离。等于临近的端点在第一条回归线上的投影距离。
![技术分享](https://image.cha138.com/20200617/a3a874c82e7e47ce831cd86844d7ea04.jpg)
MaxDistRel:轮廓端点距离相对于沿参考回归线方向相对于被延长的轮廓的长度的值
![技术分享](https://image.cha138.com/20200617/9e43445bb78c43d68ff3ff934c5f1aa9.jpg)
MaxShift:轮廓到参考回归线的最大距离(垂直距离),这个参数决定,即使两个轮廓处于平行,也会合并
![技术分享](https://image.cha138.com/20200617/c86f72a041ca4f3b919ea7bc554653ad.jpg)
MaxAngle: 两个轮廓的最大角度差,弧度制
![技术分享](https://image.cha138.com/20200617/4ad9d7a635a941bf9de19de16fef7502.jpg)
Mode: :比如,edges_sub_pix附着于每个轮廓点一些属性:角度、边缘方向等可参考get_contour_attrib_xld。
选择默认值‘attr_keep‘,所有的属性都会考虑,如果输入轮廓过多,可能就会影响性能,尤其是接下来用不到这些属性。这时,使用‘attr_forget‘比较好。
NOTCE: 共线轮廓不能和其它轮廓有较大重叠度。最大重叠度为0.5像素。
如果想要合并重叠轮廓就用Unoin_collinear_contours_ext_xld,这是本算子的一个扩展算子。
关注微信:halconhub,每日获取halcon精华文章
![技术分享](https://image.cha138.com/20200617/174d66b0b93a400e8cf5aa170e478fc5.jpg)
以上是关于halcon之共线连接union_collinear_contours_xld的主要内容,如果未能解决你的问题,请参考以下文章