我正在使用(新发布的)ArUco 2.0.7跟踪一些标记。 我正在使用的相机安装在天花板朝下,所以我只需要x和y坐标。 它可以看到2.6米乘1.5米的面积。如果我正确理解文档,我提供了我在任意单位使用的标记的边长,姿势的输出将在同一单位。 因此标记的边长为19.5cm。因为我希望我的结果是米,我将该值设置为0.195。
但是,我获得的结果不正确。如果我将标记放在摄像机视野的角落中,则它们不在相应的预期x和y坐标处。
我将全局原点放在视野的一个角上,例如(0,0)是左下角。这是通过使用getRTMatrix()获得的矩阵变换将所有进入的位置变换到该标记坐标系来完成的。 一切似乎都在工作,除了x和y坐标是错误的单位或缩放。旋转效果很好。
我错过了什么吗?或者我不能指望一个良好的准确性?错误很重要,例如当它应该是(2.6,1.5)时,它显示为(1.8,1),大约是33%的误差。
答案 0 :(得分:1)
经过多次考虑之后,我发现只是我的相机使用从校准板到镜头的距离比我的用例所需的距离更小。 这导致失真系数错误,从而给我一个虚假的尺度。 我使用aruco_calibration工具重新校准,现在精确到大约3或4厘米,这对我来说已经足够了。