halcon 的union_cocircular_contours_xld算子解释

union_cocircular_contours_xld合并属于同一圆的所有轮廓。
结果得到同一圆上相互连接的轮廓,保存于UnionContours



该算法首先对每个轮廓进行拟合,
然后通过圆弧上的半径、圆心和间隙对拟合结果进行检验。
轮廓列表按半径递增顺序处理。
没有圆可拟合的轮廓线可选择在第二遍中合并。


阈值参数用于定义轮廓是否属于同一圆。
要合并两个轮廓线,必须同时满足所有阈值。

MergeSmallContours
如果参数 MergeSmallContours 被设置为“true”,那么没有拟合圆的等值线也会被合并。
要匹配一个小轮廓,轮廓的每一点到圆心的距离与半径的差不超过MaxRadiusDiff。
轮廓线上两个相邻点与圆切线的夹角必须在MaxTangentAngle之内。
此外,要合并两个轮廓线,必须满足MaxDist的条件。


Iterations
轮廓线的合并产生了新的圆参数。
因此,迭代可以导致进一步的合并。
参数Iterations 控制迭代的数量。
很少需要两个以上的迭代。


对于两个轮廓线的每一次可能的合并,
通过对不同阈值对应的距离求和计算成本。
为了便于比较,将距离按阈值缩放到0.0到1.0之间。
如果两个或多个轮廓起点与另一个轮廓的同一端点匹配,
则合并成本较低的轮廓。


您应该确保输入轮廓可以用直线和圆弧来逼近,
例如使用split_contours_xld对它们进行预处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值