1. 双标记点定位技术的核心原理
在工业视觉检测和机器人导航领域,双标记点定位就像给机器装上了"空间尺子"。想象一下你要在墙上钉一幅画,如果只知道画框上一个点的位置很难挂正,但如果有两个挂钩作为参考,就能轻松确定画框上任意点的精确位置。这就是双标记点算法的核心价值。
具体实现时,系统会先通过图像处理找到两个标记点(通常做成特殊形状的圆形或十字标记)。以Halcon代码为例,先用binary_threshold进行二值化分割,再用select_shape_std筛选出特定形状的标记点。这两个标记点会形成一个基准坐标系,通过计算它们的中点(centerX, centerY)和连线角度(Angle),就能建立坐标系转换的基础。
实际项目中我常用直径5mm的圆形标记点,在500万像素的工业相机下,配合亚像素边缘检测算法,能达到±0.02mm的重复定位精度。这里有个细节要注意:标记点的直径和间距比例最好控制在1:3到1:5之间,太近会影响角度计算精度,太远又可能超出相机视野。
2. 几何变换的数学魔法
拿到两个标记点的坐标后,真正的重头戏是几何变换计算。这个过程可以分解为三步走:
-
坐标系平移:先把目标点坐标减去标记点中点坐标,相当于把坐标系原点移到两个标记点的中心位置。代码中的
disX和disY就是完成这个操作。 -
坐标系旋转:计算标记点连线的旋转角度差(AngleB),用这个角度对目标点坐标进行旋转变换。这里用到了经典的旋转矩阵公式:
RotX = disX * cos(AngleB) - disY * sin(AngleB) RotY = disY * cos(AngleB) + disX * sin(AngleB) -
坐标还原:最后把旋转后的坐标平移回原始坐标系,得到最终

374

被折叠的 条评论
为什么被折叠?



