如何在给定的平面上创建鸟瞰图像?

Sea*_* M. 9 c++ opencv

我给了一个平面(支持向量和平面的法向量),一个由我知道内在参数(fx,fy,cx,cy)的摄像机拍摄的图像.如何将此图像转换为鸟瞰图像(以便鸟类视图与平面的法线向量共线).我对我必须使用的坐标系很困惑,有些矩阵是世界坐标,有些是本地坐标.我知道warpPerspective()在OpenCV 中有这样做吗?

我正在使用OpenCV:2.4.9

非常感谢!

更新: 我必须在相机面向法线的情况下计算4个点,然后从鸟瞰图中计算4个点并将它们传递给它findHomography()以获得变换矩阵吗?

更新: 解决了.搞定了!

Adi*_*vit 2

世界平面上的矩形将在图像中显示为四边形。
在鸟瞰图中,您希望它再次显示为矩形。您必须至少知道该世界矩形的纵横比,才能使顶视图沿两个轴正确且均匀地缩放。

给定图像中的 4 个四边形 2D 点和目标矩形角(实质上选择的是 2D 坐标),您可以计算从四边形到矩形的单应性并用于warpPerspective()渲染它。

这通常是最简单的方法。

您还可以浏览相机和矩阵本身。为此,您需要将相机旋转到具有正交投影的平面上方。请参阅此处的单应性分解。