双目标定
1、发现问题
最近公司在搞一些双目视觉的问题,涉及到标定模块。来个opencv快速实现看小效果先,发现了标定数据无比奇葩,怀疑人生了,不是说好的找到角点就没事吗。然后Matlab标定一把,也还是同样问题。永远不要先怀疑这些成熟代码的稳定性,肯定是操作失误。
Opencv图像矫正对齐错误图
Matlab奇葩重投影误差图
Matlab重投影误差都150多了
2、分析数据
Matlab找的左右相机的角点原点不在同一个位置,导致对应点计算错误。因此出现标定异常问题。
3、解决问题
将角点对其错误的图像删除,图像从12张删为6张了。重投影误差接近3,非常nice。右下角红蓝双目相机出现了。
平移矩阵x实际测量140左右,计算129,基本符合预期。不过Z方向出现99就不对了,相机在一个平面上,应该接近0才对的。
将matlab筛选朱来的正确图像作为opencv图像输入,得到矫正对齐图像。
平移矩阵x实际测量140左右,计算130,基本符合预期。Y,z方向的位置误差都在10mm左右,大体能够接受的。因为实验台子搭的很随意,先跑流程的。
实际图像校正对齐
4 延伸
要想更加鲁棒的对输入的图相对进行标定,需要对角点的的原点位置和排列方式进行判断,然后得到正确的对应点对。