OpenCV,在 3d 表面上的投影

OpenCV, projection on 3d surface

我目前正在使用 "autonomous" 汽车进行学校项目,我需要将相机(位于汽车上并略微倾斜)的图像投影到代表道路(我假设道路是完全平坦的),鉴于我的相机相对于表面的 FOV、位置和角度,我将如何在 OpenCV 中投影它? 我特别需要的是让投影看起来就像我从上方以 90° 角拍摄道路一样。 在此先感谢您的帮助...

使用opencv函数来做

C++: void reprojectImageTo3D(InputArray disparity, OutputArray _3dImage, InputArray Q, bool handleMissingValues=false, int ddepth=-1 )

Q矩阵是包含相机中心和fx fy的投影矩阵K的逆矩阵

您可以人为地创建视差,例如梯度图来表示平面的深度。

然后传Q,disparty,输出你想要的3Dmat

程序会给你想要的