问题描述
我有什么
我正在统一使用标准透视相机生成图像。相机瞄准地平面(统一为 xz 平面),请参见图像。因此,我需要移除透视图,以便所有裁剪行彼此平行。
方法
openCV 中的 warpPerspective() 函数可用于从图像中移除透视。所有信息都是已知的,例如视野、旋转、位置……因此我知道 3D 点如何映射到 2D 平面上,反之亦然。问题是 OpenCV 使用其他系统。在openCV中应该是一个3X3矩阵,单元的变换矩阵是一个4X4矩阵。两者之间有转换吗?还是我应该考虑其他策略?
编辑
我无法统一使用正交相机。
已修复
通过构建从相机原点穿过每个像素的光线并寻找与地平面的交点来解决该问题。在此之后,我在具有与原始图像相同分辨率的网格中离散地平面。映射到同一个单元格的点被累积