从Homography分解

时间:2016-06-16 09:30:11

标签: c++ opencv computer-vision homography decomposition

我有一个已知位置的参考图像A,我想计算相机在图像B的相对位置(即以米为单位的tx,ty,tz)。使用相同的相机拍摄图像,使相机矩阵保持不变。我正在使用SIFT来检测和计算两个图像中的关键点和描述符,并将它们与FLANN匹配。从那里我可以得到我用cv :: decomposeHomography(..)分解的单应矩阵。此功能基于本文:PDF。 在本文中,陈述说,平移矩阵由d *标准化,d *是平面深度。

为了获得正确的平移,我需要知道平面深度。有没有办法在不知道图像中找到的对象大小的情况下得到这个?

1 个答案:

答案 0 :(得分:0)

使用单应性分解计算的3D平移仅可计算到未知的比例因子。这是通过仅使用图像中的明显运动从单眼图像计算3D几何的经典问题。通常,单眼图像的三维重建因此而被称为度量重建(而非欧几里德重建,其中尺度被解析)。要解决比例因子,需要更多信息,例如了解平面上某点的深度或相机在图像之间移动的距离。