已标定和匹配,三维重建有很大偏差,请高手指教
这段时间在做三维重建,遇到了问题,现在提出来希望有朋友能够帮忙看看:
首先是调用了opencv的标定函数,左右双目各用了七张图,标定误差不大,平均在0.4像素内。之后进行了点匹配。但是最后在三维重建时,我得到的结果与现实测量相差甚远,举例来说,我继续用标定时使用的棋盘来做待测量物体,棋盘每一个格子应该是20mm的样子,但是由我的计算相差很大。
我说说我做的过程,大家请不吝赐教。
我用的方法是先计算M=A[R,t]即两个摄像头各自的投影矩阵,得到了M1和M2,其中A是内参,R是旋转矩阵,t是平移向量。然后再根据公式得到类似于(U1M31-M11)X+(U1M32-M12)Y+(U1M33-M13)Z=M14-U1M34这种形式的四个方程组成的过定方程组 ,最后使用opencv的cvsolve的CV_SVD方法以最小二乘法求解得到三维坐标。
因为A是内参,所以不管多少标定图都只有一个,我这里用的R和t是左右双目各自最后一幅图的外参数矩阵,这样对吗?
还有就是,按道理四个方程中任意三个方程组成方程组都能得到比较接近正确解的三维坐标,但是我用前三个方程组成方程组和后三个的答案差的非常远,这又是为什么呢?