C++ opencv实例之立体匹配算法详解:BM、SGBM
- 基于Opencv讲述几种主要的经典立体匹配算法
- 立体匹配均应在极线/立体校正后应用,方可取得最佳效果
- 目前,基于深度学习的立体匹配也发展迅速,但精度往往同速度成反比
- 下边依次讲述双目匹配、BM算法、SGBM算法及其opencv接口应用实例,其中实现效果如下:
1.双目匹配
双目立体视觉系统中,深度信息的获得是分如下两步进行的:
(1) 在双目立体图象间建立点点对应,
(2) 根据对应点的视差计算出深度。
第一部分,也就是对应点问题,是双目立体视觉的关键; 第二部分是摄像机模型问题。双目立体视觉模型中,双摄像机彼此参数一致,光轴平行且垂直于基线,构成一共极性 (epipolar) 结构,这样做是为了缩小对应的搜索空间,只有水平方向的视差,简化了对应过程,如下图: