【发布时间】:2014-12-06 15:05:19
【问题描述】:
我得到了一个平面(支持向量和平面的法线向量),这是一个由我知道其内在参数(fx、fy、cx、cy)的相机拍摄的图像。我如何将此图像转换为类似鸟瞰图的图像(以便鸟瞰图与平面的法向量共线)。我对必须使用的坐标系感到困惑,有些矩阵在世界坐标中,有些在本地坐标中。我知道 OpenCV 中有warpPerspective(),这样可以吗?
我正在使用 OpenCV:2.4.9
非常感谢!
更新:
是否必须先在相机朝向法线的情况下计算 4 个点,然后从鸟瞰视图中计算 4 个点并将它们传递给findHomography() 以获得变换矩阵?
更新: 解决了。让它工作!
【问题讨论】:
-
您需要的是顶视图,对吧? IE。视图/相机矢量和平面法线之间的角度将是直角(180°)。 OTOH bird's eye view 不会这样,它会有 0/180° 以外的角度。俯视图是正视图,而鸟瞰图是透视图。
-
这可能有助于计算相机变换:Deriving gluLookAt
-
您将需要:相机的外部参数(至少是视角)或平面上“已知”点的 4 个像素位置(足以知道这些点之间的相对位置在飞机上)。
-
在我的第一张图片中,假设“高度”线是一个轴,相机和这个轴之间的角度是已知的。
-
可能视角不够,我被困在了那里……但我知道你自己搞定了? =)