【问题标题】:Finding relative rotation between two cameras查找两个相机之间的相对旋转
【发布时间】:2016-12-08 20:13:24
【问题描述】:
我有两个图像 I1 和 I2,具有外部和内部相机参数(R1、t1、R2、t2 和 K)。对于相机零平移的更简单情况,我可以使用以下方法找到两个相机之间的相对旋转;
R = (R1.I) * R2
但如果他们有翻译 t1 和 t2,那么上面将失败。我们需要应用否定翻译将它们带到世界起源,然后上面的方法就可以了。我不明白的是我应该应用哪些否定翻译?
【问题讨论】:
标签:
opencv
camera
rotation
computer-vision
【解决方案1】:
当您在相机之间进行平移时,从第一个相机到第二个相机的相对旋转不会改变。当第一个相机的位姿为 (R1, t1) 和第二个相机的位姿 (R2, t2) 时,您可以计算从一到二的旋转为 p>
R_diff = R1.inv * R2,
(你在上面写的)和翻译,它有点繁琐,是
t_diff = R1.inv * (t2 - t1).
由此,您可以根据第一个摄像头的位姿计算第二个摄像头的位姿
R2 = R1 * R_diff,
t2 = R1 * t_diff + t1.
在非零翻译的情况下,我不确定您所说的“以上将失败”是什么意思,所以我希望我正确理解了您的问题。