6

我想用opencv找到一个点的位置。我使用 cvCalibrateCamera2 校准了两个相机。所以我知道内在和外在参数。我读到使用已知的内在和外在参数,我可以通过三角测量轻松重建 3d。opencv 中是否有实现此功能的功能。我认为 cvProjectPoint2 可能有用,但我不明白到底是什么。那么我如何找到一个点的 3d 位置。

谢谢。

4

1 回答 1

6

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

另请注意,立体对应算法需要经过校正的图像对(使用和cvStereoRectify)。cvInitUndistortRectifyMapcvRemap

于 2010-11-25T21:13:40.710 回答