百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

SemiGlobalMatching

> 编程语言
开源

SGM,立体匹配StereoMatching最经典应用最广泛算法,4000+引用,兼顾效率和效果。完整实现,代码规范,注释清晰,博客教学!

1.2K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

SGM,立体匹配StereoMatching最经典应用最广泛算法,4000+引用,兼顾效率和效果。完整实现,代码规范,注释清晰,博客教学!

SemiGlobalMatching

SGM,立体匹配最经典应用最广泛算法,4000+引用,兼顾效率和效果。完整实现,代码规范,注释清晰,博客教学,欢迎star!

CSDN博客

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(1)框架与类设计

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(2)代价计算

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(3)代价聚合

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(4)代价聚合2

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(5)视差优化

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(6)视差填充

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(7)弱纹理优化

环境

windows10 / visual studio 2015&2019

代码基本没有使用系统api,你可以非常方便的移植到linux,可能需要做极少量的修改

第三方库

opencv310

百度网盘连接:https://pan.baidu.com/s/1_WD-KdPyDBazEIim7NU3jA

提取码:aab4

解压后放将名称为OpenCV的文件夹复制到到3rdparty文件夹下

若运行时提示缺少opencv_world310(d).dll,则在OpenCV文件夹里找到对应的dll文件复制到程序exe所在的目录即可(Opencv\dll\opencv_world310(d).dll),带d为debug库,不带d为release库。

为便于移植,算法是不依赖任何图像库的,只在算法实验部分调用opencv库读取和显示图像,也可替换成其他图像库

算法引导

SGM步骤图

SGM类设计图

备注

算法优点:效果好,效率高,且可高度并行

算法缺点:效果非SOTA、内存占用高(可优化)、对弱纹理、重复纹理支持不太好

论文

  1. Heiko Hirschmüller. Hirschmüller, H: Stereo processing by semiglobal matching and mutual information. IEEE PAMI 30(2), 328-341[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(2):328-341.
  2. Humenberger M , Engelke T , Kubinger W . A census-based stereo vision algorithm using modified Semi-Global Matching and plane fitting to improve matching quality[C]// IEEE Computer Society Conference on Computer Vision & Pattern Recognition-workshops. IEEE, 2010.

实验图

上行:左视图、右视图、初始代价结果、聚合代价结果

下行:一致性检查、唯一性约束+去小连通区、中值滤波、视差填充

Github图片不显示的解决办法

修改hosts

C:\Windows\System32\drivers\etc\hosts

在文件末尾添加:

…

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++3d-reconstructioncensusdepth-estimationsemi-global

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言