Opencv 从两个二维点重建三维点?
OpenCV包含很多对立体相机三维重建的支持。在我的例子中,我有两个摄像头,我想知道某个点的三维坐标 我所拥有的:Opencv 从两个二维点重建三维点?,opencv,3d-reconstruction,Opencv,3d Reconstruction,OpenCV包含很多对立体相机三维重建的支持。在我的例子中,我有两个摄像头,我想知道某个点的三维坐标 我所拥有的: 两幅图像上点的像素坐标 已知的内部和外部摄像机参数 我想要的是: 在3D中坐标此点我不知道opencv是否对此有构造。然而,我知道你可以使用正弦定律的角度-侧角来构造平行于相机的线性距离,使用点->相机->其他相机的内角作为参考点 然后,一旦获得距离,就可以使用相同的构造计算垂直定位:从死点到该点相对于任一摄像机的上下距离计算角度,到第一步中找到的对象的距离,并且可以使用90度作为
在3D中坐标此点我不知道opencv是否对此有构造。然而,我知道你可以使用正弦定律的角度-侧角来构造平行于相机的线性距离,使用点->相机->其他相机的内角作为参考点
然后,一旦获得距离,就可以使用相同的构造计算垂直定位:从死点到该点相对于任一摄像机的上下距离计算角度,到第一步中找到的对象的距离,并且可以使用90度作为该假想点之间的角度(位于与相机水平的物体上方)和物体。我在另一个问题中回答了相同的问题 如果你有外部参数,那么你就有了相机姿势。使用相机姿势和2D点,你可以投影3D点(如果2D点和外部参数正确,每个相机的结果应该是相同的)。你只需要将姿势转换为单应。我在我链接的帖子中对此进行了解释
祝你好运!如果你没有从两个视图对点进行三角剖分的经验,你应该读这本书。在这本书中,描述了一种线性三角剖分方法,该方法非常容易实现,具有2D点对应、相机姿势和相机校准 给出了该方法的示例代码,它基于上述书籍
然而,必须满足一些非常重要的条件。首先,相对于极线约束,测量点对应必须是正确的
x*E*x'=0
。其次,光线之间的角度应大于几度,例如2度。您的答案处理的情况与此不同据我所知。