查找用于拍摄2D照片的相机的3D位置

php*_*der 5 algorithm image-processing computer-vision

给定3D场景和部分场景的2D图像,是否可以找到用于制作图像的相机的位置?

Mal*_*lio 6

我将从你的问题中假设你在二维空间中有四个点,你知道它们在三维空间中的位置.(如果你真正的问题在于确定这些问题,那么我最开始的想法并不是最模糊的.)

因此,你的问题是,相机在哪里可以从模型到图像产生这种映射?

相机正在执行形式的仿射变换M x + T = y,其中x3空间中的y矢量表示模型中的点,并且是表示图像中的点的2空间矢量.给出四个值xy,这是一个直接的矩阵算术问题来解决M和T(可能最好让MATLAB帮助你.)

现在,您如何将M和T转换为相机的位置,位置和焦距?在那里它有点毛茸茸,但这个页面应该帮助你(只记得,你正在做一切倒退).


Vau*_*ato 5

如果对摄像机参数进行随机采样,并使用每组参数渲染场景,则可以将最佳匹配作为起点。然后,您可以对摄影机参数进行局部优化,以找到最能再现2D图像的那些参数。速度不是很快,但是理论上,如果有足够的时间,您可以做出很好的猜测。

  • OP声明“给出3D场景”。我认为这意味着有可用的场景模型。如果有可用的模型,则可以从特定视点渲染该模型,并将渲染的结果与2D图像进行比较。 (2认同)