sgbm和sgm有什么区别

时间:2018-04-20 10:56:13

标签: opencv3.0

我是Opencv的新手。我在gpu中尝试 stereosgbm compute 函数。到目前为止,我还没有从opencv找到任何cuda移植。

我想知道半全局匹配和半全局块匹配之间的区别。但我没有发现任何差异。

感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

  

StereoSGBM是OpenCV对Hirschmüller原始SGM算法的实现。实现与原始算法设计略有不同。

     
      
  • 原始算法使用逐像素聚合成本,而StereoSGBM允许匹配块。如果块大小设置为1,则与处理像素相同。
  •   
  • StereoSGBM中未实现互信息成本函数。
  •   
  • OpenCV的SGBM专注于速度。因此,默认情况下,StereoSGBM是单通道(即它以较少的方向计算匹配成本)。您可以设置mode = StereoSGBM :: MODE_HH来计算所有8个方向的成本。
  •   
  • StereoSGBM还实现了Birchfield提出的子像素估计   等人。
  •   

我建议通过此链接阅读OpenCV关于StereoSGBM的文档https://docs.opencv.org/3.4.1/d2/d85/classcv_1_1StereoSGBM.html本文档描述了OpenCV实现(SGBM)与原始SGM之间的主要区别。

如果您有兴趣,E。Dall'Asta,R。Roncella的论文,表面重建的半全球和局部密集匹配算法的比较,讨论了OpenCV的SGBM实施与Hirschmüller的SGM之间的差异。

希望这个答案可以帮到你。