我在Matlab中多次实现了立体声管道,现在我正试图在OpenCV中实现一个。我一直在关注Martin Peris的重建:http://blog.martinperis.com/2012/01/3d-reconstruction-with-opencv-and-point.html
用Matlab实现时,我的流水线是这样的:校准->校正->立体匹配->不校正/不扭曲匹配->三角匹配。
在OpenCV中,流水线是这样的校准->校正->立体匹配-> reprojectTo3D
与reprojectTo3D函数在这里:http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#void%20reprojectImageTo3D%28InputArray%20disparity,%20OutputArray%20_3dImage,%20InputArray%20Q,%20bool%20handleMissingValues,%20int%20ddepth%29
它没有做三角测量吗?这怎么可能呢?是否假设摄像机已经在规范设置中并且已经平行?
OpenCV管道从立体匹配中获得用于三角测量的视差图,并从校准和校正步骤中获得摄像机的投影矩阵。你可以使用triangualtePoints来表示从两个相机中观察到的点的位置,以及它们在立体校正函数中的投影矩阵。主要的算法是一样的,你只是使用了稍微不同的中间产物。