最近总有一个困惑,论文或者说研究中的立体匹配算法和OpenCV中实现的立体匹配算法有什么对应关系,特别是经常看到资料中一谈到OpenCV立体匹配函数,就是BM、SGBM和GC成套的出现,那么这三个算法的理论来源是什么,它们三个是什么样的“江湖地位”,OpenCV还有没有实现其他算法没有被介绍,在这里,对这些问题做个小总结。遗漏的地方欢迎大家批评补充。
1.立体匹配算法分类:从算法本身的角度来说,立体匹配从大的方面分为两种,全局匹配和局部匹配。全局匹配比较经典的有动态规划、图割和置信度传播等,全局匹配算法优点是精度高,缺点是计算速度慢,实时性差;而局部匹配又分为基于区域的匹配,基于特征的匹配等。局部匹配优点是速度快,可以满足实时的要求,但是精度不如前者,基于区域的匹配精度尚可以接受,基于特征的匹配则只能得到稀疏的视差,需要靠插值完成视差图重建,如果要考察整个图的视差精度,则基于特征法不可靠。
2.OpenCV实现的算法:
2.1基于特征提