我在3d空间中有3个视点位置(3d网格上的x,y,z坐标),方向(相对于视点原点x,y,z vector )。它们都看起来,并且每个确实都能看到空间中的三个点(带有过滤出背景的标记(x,y))(例如,我们在白色图像上有一个红色,蓝色,绿色的点)。除了分辨率,我们不知道其他任何视点相机的属性,并且它们是相同(极其相似)的相机。我们如何获得我们在太空中的关键位置?
最佳答案
我假设您已经校准了3台摄像机,否则我不知道是否存在解决问题的方法。
如果您有相机校准参数,即相机矩阵(A),旋转 vector (T),平移 vector (R)。从这些中,您可以使用P = A[R|T]
获得投影矩阵。这意味着您可以使用X.Pi = x
将现实世界X中的任何3d点投影到图像i,这意味着您可以使用xi' = xi.P3T - P1T
和yi' = yi.P3T - P2T
为每个 View 获得线性方程组。PiT是P中第i列的转置。该方程组使用奇异值分解。
引用:
关于python - 从3个角度来看3个图像上有3个点如何在3d空间中获取其坐标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50292631/