OpenCV stereoRectify

时间:2013-01-16 15:16:56

标签: opencv stereo-3d

如果我已经在实验室中计算了内在函数(相机矩阵和失真系数)。

然后我将相机移出现实世界。 我在现实世界中使用了大约6-10个已知位置,使用SolvePnP()估计相机姿势。所以我也有两个相机旋转和平移。

我现在想要使用2个摄像头来创建stereoCorrespondence。 问题是: 我是否必须使用stereoCalibrate()?

或者我可以使用已知的内在函数立即调用StereoRectify吗? 它说StereoRectify()期望旋转和平移向量/矩阵, 该文件说它期望:

"The rotation matrix between the 1st and the 2nd cameras’ coordinate systems."

由于我有两个摄像头的摄像头姿势,我可以简单地减去从SolvePnP得到的2个平移矢量和旋转矢量,并将结果传递给StereoRectify()吗? (两个相机使用相同的公共对象点参考系统)

1 个答案:

答案 0 :(得分:1)

将摄像机校准到世界(例如您已知的位置)与彼此校准摄像机不同。在您的情况下,您可以减去平移向量。这将为您提供从一个摄像机到另一个摄像机的转换(前提是您使用相同的固定点校准它们)。您还可以获得相机间旋转矩阵,但这不能通过简单地减去它们来完成,您需要更复杂的数学运算。这就是为什么我建议你使用opencv提供的立体声校准。