如何使用 OpenCV 将点从 2D 投影到 3D?
How can I projects points from 2D to 3D using OpenCV?
我正在处理 Camera Calibration and 3D Reconstruction 问题。
OpenCV 或任何其他 Python 包中是否有一种方法可以将给定点从 2D 投影到 3D
- R - 一个旋转矩阵,
- T - 平移矩阵,
- 焦距(
f_x, f_y
)和光学中心(c_x, c_y
)。
因为你没有做立体,从单个 2D 点和相机校准,你无法获得 3D 点(至少没有额外的限制,例如该点在地面或类似的东西) .
从一个2D点得到的是3D射线(3D向量),3D点就在其中。参考下图,来自[https://docs.opencv.org/2.4/_images/pinhole_camera_model.png]:
从(X,Y,Z)可以得到(u,v),但是红线上的任意一点也会投影到同一个(u,v)。这意味着给定 (u, v),您无法知道您正在观察这条线上的哪一点。
我正在处理 Camera Calibration and 3D Reconstruction 问题。
OpenCV 或任何其他 Python 包中是否有一种方法可以将给定点从 2D 投影到 3D
- R - 一个旋转矩阵,
- T - 平移矩阵,
- 焦距(
f_x, f_y
)和光学中心(c_x, c_y
)。
因为你没有做立体,从单个 2D 点和相机校准,你无法获得 3D 点(至少没有额外的限制,例如该点在地面或类似的东西) .
从一个2D点得到的是3D射线(3D向量),3D点就在其中。参考下图,来自[https://docs.opencv.org/2.4/_images/pinhole_camera_model.png]:
从(X,Y,Z)可以得到(u,v),但是红线上的任意一点也会投影到同一个(u,v)。这意味着给定 (u, v),您无法知道您正在观察这条线上的哪一点。