• Stars
    star
    706
  • Rank 64,138 (Top 2 %)
  • Language
    C++
  • License
    MIT License
  • Created over 4 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PatchMatchStereo,倾斜窗口经典,效果极佳,OpenMVS&Colmap稠密匹配算法。完整实现,代码规范,注释清晰,博客教学,欢迎star!

PatchMatchStereo

PatchMatch,倾斜窗口经典,效果极佳,OpenMVS&Colmap稠密匹配算法。完整实现,代码规范,注释清晰,博客教学,欢迎star!

CSDN博客

如果你想了解更多代码讲解,下面的博客或许能帮到你:
【码上实战】【立体匹配系列】经典PatchMatch: (1)框架
【码上实战】【立体匹配系列】经典PatchMatch: (2)主类
【码上实战】【立体匹配系列】经典PatchMatch: (3)随机初始化
【码上实战】【立体匹配系列】经典PatchMatch: (4)代价计算
【码上实战】【立体匹配系列】经典PatchMatch: (5)迭代传播
【码上实战】【立体匹配系列】经典PatchMatch: (6)后处理

环境

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

强烈建议你使用release模式运行代码,强烈不建议使用debug模式运行代码

第三方库

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库读取和显示图像,也可替换成其他图像库

算法引导

算法框架图


代码框架图

备注

算法优点:效果好,内存占用低
算法缺点:效率低,速度比较慢,不建议跑大图,建议跑个小图看看效果(Release模式)。如果设置为前端平行窗口(PatchMatchStereo为倾斜窗口时效果最好),则速度会更快,如下:

pms_option.is_fource_fpw = true;

论文

Bleyer M, Rhemann C, Rother C. PatchMatch Stereo-Stereo Matching with Slanted Support Windows[C]. British Machine Vision Conference 2011. 2011.

Github图片不显示的解决办法

修改hosts

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

在文件末尾添加:

# GitHub Start
192.30.253.119      gist.github.com
151.101.184.133     assets-cdn.github.com
151.101.184.133     raw.githubusercontent.com
151.101.184.133     gist.githubusercontent.com
151.101.184.133     cloud.githubusercontent.com
151.101.184.133     camo.githubusercontent.com
151.101.184.133     avatars0.githubusercontent.com
151.101.184.133     avatars1.githubusercontent.com
151.101.184.133     avatars2.githubusercontent.com
151.101.184.133     avatars3.githubusercontent.com
151.101.184.133     avatars4.githubusercontent.com
151.101.184.133     avatars5.githubusercontent.com
151.101.184.133     avatars6.githubusercontent.com
151.101.184.133     avatars7.githubusercontent.com
151.101.184.133     avatars8.githubusercontent.com
# GitHub End

More Repositories

1

SemiGlobalMatching

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

AD-Census

AD-Census立体匹配算法,中国学者Xing Mei等人研究成果(Respect!),算法效率高、效果出色,适合硬件加速,Intel RealSense D400 Stereo模块算法。完整实现,代码规范,注释清晰,欢迎star!
C++
368
star
3

Source-Codes-3DVison

Source codes collection for 3d vision 视觉三维重建领域的源码收集
314
star
4

StereoV3DCode

《立体视觉入门指南》 代码, c++ code for StereoV3D course
C++
176
star
5

FasterStereoCuda-Library

这是一个基于CUDA加速的快速立体匹配库,它的核心是SemiglobalMatching(SGM)算法,它不仅在时间效率上要远远优于基于CPU的常规SGM,而且占用明显更少的内存,这意味着它不仅可以在较低分辨率(百万级)图像上达到实时的帧率,且完全具备处理千万级甚至更高量级图像的能力。
C++
111
star
6

Datasets-of-MVS-reconstruction

collation of sites of open source datasets for 3d mvs reconstrucion
71
star
7

TellusBuilder

Build the 3D world around you
Makefile
58
star
8

FasterStereoCuda

这是一个基于CUDA加速的SGM立体匹配代码,它的核心是SemiglobalMatching(SGM)算法,它不仅在时间效率上要远远优于基于CPU的常规SGM,而且明显占用更少的内存,这意味着它不仅可以在较低分辨率(百万级)图像上达到实时的帧率,且完全具备处理千万级甚至更高量级图像的能力。
C++
45
star
9

Summary-of-3D-Reconstruction

Summary of 3D Reconstruction
40
star
10

ethan-li-coding

16
star