我试图找到相机在(x,y,z)中的位置。R1和R2是地板上的两个参考点。R1'和R2'是图像平面上显示的点。2492像素是观察的宽度,我能够找到R1和R2之间的距离(0.98米),R1'和R2'之间的距离(895.9像素)。相机的角度是69度。相机放置在参考点的左侧。
我正在尝试做一个数学模型。如果有人能帮我解决这个问题,我将不胜感激。
我认为这个问题,正如你所描述的,太模棱两可了,无法解决。
你的问题与一般的PnP问题非常相似,其目标是基于N个已知的3D点及其在图像中的投影来估计物体和相机之间的相对姿态。据我所知,P3P问题,即4个3D点及其4个投影的PnP问题(见这个网站的描述),是我们能解决的最好的问题。供参考,OpenCV实现了solvePnP
函数,该函数对N>=4执行此操作。
相比之下,在你的问题中,你知道相机的视角,但你只知道两个3D点之间的距离和它们两个投影之间的距离。我不认为这个问题可以这样解决。然而,如果你寻找隐藏的额外约束(例如,相机中心和2个3D点共面,等等),或者如果你有意添加一些(例如,使用更多的点),可能有一种方法。