Halcon XLD 几种边缘连接函数

本文介绍了Halcon的几种边缘连接函数,包括union_cotangential_contours_xld、union_collinear_contours_xld、union_adjacent_contours_xld和union_cocircular_contours_xld。这些函数通过不同的连接条件,如曲率、共线性、相邻性和共圆性,将边缘片段合并为连续的轮廓。文章详细解释了各个函数的工作原理、参数设置和应用场景,并提供了作者的实践评论。
摘要由CSDN通过智能技术生成

几种边缘连接函数的中文解释:

 

union_cotangential_contours_xld
根据输入的轮廓的端点处的局部曲率,连接曲率满足一定条件的轮廓


输入:
contours (xld object)
FitClippingLengt轮廓的一部分的长度小于这个值,则跳过计算切线
默认:0.0
一般设置范围:大于等于0
FitLength 轮廓的一部分大于这个值的,参与计算切线
默认:30
建议值:10.0, 20.0, 30.0,‘auto’
范围:大于等于0
MaxTangAngle 弧度制 两个轮廓的切线的最大角,大于该值的不合并
默认:0.78539816 
范围:0.0 < MaxTangAngle<3.1415926
MaxDist 两个轮廓的端点之间的最大距离
默认:25.0
建议值:5.0, 10.0 , 25.0, 50.0
范围:大于等于0
MaxDistPerp:轮廓端点到另一轮廓切线垂直距离的最大值,大于该值的不合并
默认:10.0
建议值:2.0, 5.0, 10.0, 20.0
范围:大于等于0
MaxOverlap:两个轮廓的最大重叠值,大于该值的不参与合并
默认:2.0 
建议值:2.0, 5.0, 10.0, 20.0
Mode:如何处理轮廓的属性值
默认:‘attr_forget’
可选值列表:‘attr_keep’,


输出:
UnionContours (xld object)


函数工作原理:对于输入的contours中的每个轮廓,首先确定其末端。FitClippingLength这个参数代表了一个轮廓的两个末端之间的欧氏长度。有了这个参数,可以忽略输入轮廓末端的artifacts(?嘛意思?)。FitLength则表示了轮廓末端参与计算曲率的一小段的欧式长度。在一个轮廓的末端,至少Fitlength长度的在轮廓末端上的点,参与计算。这里可以使用‘auto’设置。然后算子将把轮廓分割为很多直线和圆弧段,然后将第一段和最后一段分割的结果作为末端。因为计算非常花时间,所以推荐尽可能赋予长度具体的数值。
算子尝试将每个末端来拟合一个圆。然后决定输入轮廓的端点,离这些圆最近的端点(用到拟合圆的rms距离)。这些点的切线相当于这些输入轮廓的端点处的局部曲率。(不是很明白。。。)
如果圆拟合失败,算子就尝试拟合回归线。则轮廓末端的局部曲率就由端点回归线的方向代替。
输入的轮廓根据其端点处的局部曲率来决定是否组合在一起。如果两个轮廓达到了几个阈值的要求,则组合成一个轮廓。MaxTangAngle表示了两个轮廓切线的最大角。MaxDist代表了两个轮廓的端点到对方的最大距

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值