我是Opencv的新手。我在gpu中尝试 stereosgbm compute 函数。到目前为止,我还没有从opencv找到任何cuda移植。
我想知道半全局匹配和半全局块匹配之间的区别。但我没有发现任何差异。
感谢任何帮助。
感谢。
答案 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之间的差异。
希望这个答案可以帮到你。