如何使用opencv找到具有内在和外在参数的点的3d位置

cem*_*anç 6 opencv computer-vision 3d-reconstruction extrinsic-parameters

我想用opencv找到一个点的位置.我使用cvCalibrateCamera2校准了两台相机.所以我知道内在和外在的参数.我读了一个已知的内在和外在参数,我可以轻松地通过三角测量重建三维.opencv中是否有一个函数可以实现这一点.我认为cvProjectPoint2可能很有用,但我不明白究竟是什么.那我怎么能找到一个点的三维位置.

谢谢.

Kar*_*nek 6

你首先必须找到差异.在OpenCV中实现了两种算法 - 块匹配(cvFindStereoCorrespondenceBM)和图形切割(cvFindStereoCorrespondenceGC).后者给出了更好的结果,但速度较慢.在视差检测之后,您可以将差异重新投影到3D使用cvReprojectImageTo3D.这为您提供了两个摄像机视图中输入图像的每个点的距离.

还要注意的是立体对应算法需要的整流图像对(使用cvStereoRectify,cvInitUndistortRectifyMapcvRemap).