将视差图转换为3D点

Man*_*ish 4 opencv computer-vision

我有一个图像的视差图.我需要将它转换为一组3D点和法线.我怎么能这样做,是否有任何这样的现有实现可以做到这一点

Mar*_*ett 7

看看这个OpenCV函数:http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#reprojectimageto3d

  • 如果你只需要3d点这个功能可以提高速度...如果你需要它,投票,我会添加速度代码. (2认同)

til*_*uki 1

Gnu三角曲面库?

当我之前这样做时,我有一个深度图(或者视差图,如果你愿意的话)并且 - 知道原始相机校准 - 能够将点重新投影回 R3。

知道每个点的邻域(通过它们的原始相邻像素),然后创建一个基本的三角测量来连接它们是非常简单的。

(如果您不知道这一点,您将不得不尝试某种形式的 Delaunay 三角测量或其他更高级的算法......)

确保每个三角形的顶点顺序正确,以确保所有法线指向正确/一致。

Meshlab对于任何额外的后处理都非常方便。