OpenCV包含了许多支持从立体相机进行3D重建的功能。在我的情况下,我有两个摄像头,并且我想知道某个点的三维坐标。
我拥有:
- 该点在两幅图像上的像素坐标
- 已知的内部和外部相机参数
我想要得到:
该点的三维坐标OpenCV包含了许多支持从立体相机进行3D重建的功能。在我的情况下,我有两个摄像头,并且我想知道某个点的三维坐标。
我拥有:
我想要得到:
该点的三维坐标我在另一个帖子post中回答了同样的问题。
如果您拥有外参,则拥有摄像机姿态。有了摄像机姿态和2D点,您可以将3D点投影到图像上(如果您的2D点和外参是正确的,则每个摄像机应该得到相同的结果)。您只需要将姿态转换为单应矩阵即可。我在链接中的帖子中解释了它。
祝好运!
x*E*x' = 0
。其次,射线之间的夹角应大于几度,例如2度。我不知道opencv是否有这样的结构。但是我知道您可以使用正弦定理来构建水平平行于相机的线性距离,使用点->相机->其他相机的内角作为参考点。
然后,一旦您获得了距离,您可以使用相同的结构计算垂直定位:其中角度从中心到点在相机上方或下方的距离计数,第一步找到的对象的距离,您可以使用90度作为想象点(在对象水平到相机之上)和对象之间的角度。