找到两个摄像头之间的相对旋转

时间:2016-08-03 08:10:37

标签: opencv camera rotation computer-vision

我有两个图像I1和I2,包括外部和内部相机参数(R1,t1,R2,t2和K)。对于相机零转换的简单情况,我可以使用

找到两个摄像机之间的相对旋转
R = (R1.I) * R2

但如果他们有翻译t1和t2,那么上面就会失败。我们需要应用负面翻译才能将它们带到世界起源,然后才能起作用。我不明白的是我应该采用什么样的负面翻译?

1 个答案:

答案 0 :(得分:0)

当您在相机之间进行平移时,从第一个相机到第二个相机的相对旋转不会改变。当第一台摄像机的姿势为(R1,t1)和第二台(R2,t2)时,您可以计算从1到2的旋转

R_diff = R1.inv * R2,

(你在上面写的)和翻译,有点繁琐,是

t_diff = R1.inv * (t2 - t1).

然后,您可以根据第一台摄像机的姿势计算第二台摄像机的姿势

R2 = R1 * R_diff,
t2 = R1 * t_diff + t1.

在非零翻译的情况下,我不确定你的意思是“上面会失败”,所以我希望我能正确理解你的问题。