如何使用OpenCV将点从2D投影到3D?

问题描述 投票:0回答:1

我正在研究Camera Calibration and 3D Reconstruction问题。

OpenCV或任何其他Python包中是否存在将点从2D投影到3D的方法

  1. R - 旋转矩阵,
  2. T - 翻译矩阵,
  3. 焦距(f_x, f_y)和光学中心(c_x, c_y)。
opencv computer-vision 3d-reconstruction structure-from-motion
1个回答
1
投票

由于您没有进行立体声,从单个2D点和相机校准,您无法获得3D点(至少在没有附加约束的情况下没有,例如该点位于地平面或类似的位置)。

您可以从单个2D点获得的是3D射线(3D矢量),其中3D点位于其中。参考下图,来自[https://docs.opencv.org/2.4/_images/pinhole_camera_model.png]

enter image description here

从(X,Y,Z)您可以获得(u,v),但红线中的任何点也将投射到相同的(u,v)。这意味着给定(u,v),你无法知道你正在观察的这条线上的哪一点。

© www.soinside.com 2019 - 2024. All rights reserved.