消失点如何帮助恢复正确的相机视角?

jay*_*rjo 4 3d camera perspective vanishing-point

我正在尝试将3D对象插入到照片中,这不是我拍摄的.元信息被删除,因此我只能猜测场景中对象的相机参数和尺寸.在这种情况下如何设置适当的营地,有什么方法吗?

我已经看到人们正在绘制辅助线,找到消失点,但是当我理解消失点的含义时,我不知道如何帮助恢复视角.关于这个话题的任何好的写作?

Sam*_*Sam 6

要从给定图像中完全确定场景3D数据,您需要知道形成图像的透视投影参数.他们是:

  • 相机内在:焦距(必须!)和失真参数(如果你想要高精度)

    • 相机外部参数(三轴上的旋转/平移)

详细:可以从视角获得焦距,使用以下公式:fx = imageWidth /(2*tan(alphaX)),并且对于其他维度也类似.如果您既没有fx也没有光圈,则无法重建3D图像.

提取它们的另一种方法是校准相机.请参阅http://opencv.itseez.com/modules/calib3d/doc/calib3d.html,但似乎您无法使用它(您说您无法访问相机.)

消失点(VP)用于确定摄像机定向的角度.因此,图像中心和VP之间的差异为您提供旋转信息:

yaw =((camera.center.x(pixels) - VP.x)/image.x)*光圈.

音高=相似.

滚动角不能从VP中提取,而是从水平线中提取.

您需要的最后一个参数是翻译.根据应用程序,您可以将它们全部设置为0,或仅考虑相关高度.通常无法从图像中恢复它们.

现在,拥有所有这些数据,你可以在这里看看 Opencv虚拟相机旋转/平移鸟瞰图

了解所有这些措施如何影响您的视角矫正.