使用OpenCV如何通过内参和外参参数找到一个点的3D位置

6
我想使用OpenCV找到一个点的位置。我使用cvCalibrateCamera2校准了两个相机,因此我知道了内在和外在参数。我读到如果已知内在和外在参数,可以通过三角法轻松重建3D模型。请问OpenCV有没有这样的功能?我认为cvProjectPoint2可能有用,但我不太理解具体过程。请问如何找到一个点的3D位置?
谢谢。

这个解释可能会帮助你理解。 http://dsp.stackexchange.com/q/2736/1473 - Jav_Rock
1个回答

6
你首先需要找到不同之处。在OpenCV中实现了两个算法-块匹配(cvFindStereoCorrespondenceBM)和图割(cvFindStereoCorrespondenceGC)。后者效果更好,但速度较慢。在检测出差异后,你可以使用cvReprojectImageTo3D将其重新投影到3D上。这为每个输入图像中在两个摄像机视图中的点提供了距离。
还要注意,立体对应算法需要矫正图像对(使用cvStereoRectifycvInitUndistortRectifyMapcvRemap)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接