{"id":13436152,"url":"https://github.com/ethan-li-coding/PatchMatchStereo","last_synced_at":"2025-03-18T12:31:20.189Z","repository":{"id":38473311,"uuid":"277872970","full_name":"ethan-li-coding/PatchMatchStereo","owner":"ethan-li-coding","description":"PatchMatchStereo，倾斜窗口经典，效果极佳，OpenMVS\u0026Colmap稠密匹配算法。完整实现，代码规范，注释清晰，博客教学，欢迎star！","archived":false,"fork":false,"pushed_at":"2021-12-29T17:15:01.000Z","size":4030,"stargazers_count":721,"open_issues_count":15,"forks_count":122,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-10-27T19:03:09.061Z","etag":null,"topics":["3d-reconstruction","depth-estimation","patch-match-stereo","patchmatch","patchmatch-stereo","patchmatchstereo","stereo","stereo-matching","stereo-vision"],"latest_commit_sha":null,"homepage":"https://github.com/ethan-li-coding/PatchMatchStereo.git","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethan-li-coding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-07T16:50:39.000Z","updated_at":"2024-10-27T08:30:32.000Z","dependencies_parsed_at":"2022-07-20T12:49:59.102Z","dependency_job_id":null,"html_url":"https://github.com/ethan-li-coding/PatchMatchStereo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-li-coding%2FPatchMatchStereo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-li-coding%2FPatchMatchStereo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-li-coding%2FPatchMatchStereo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethan-li-coding%2FPatchMatchStereo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethan-li-coding","download_url":"https://codeload.github.com/ethan-li-coding/PatchMatchStereo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244222332,"owners_count":20418494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-reconstruction","depth-estimation","patch-match-stereo","patchmatch","patchmatch-stereo","patchmatchstereo","stereo","stereo-matching","stereo-vision"],"created_at":"2024-07-31T03:00:44.789Z","updated_at":"2025-03-18T12:31:20.182Z","avatar_url":"https://github.com/ethan-li-coding.png","language":"C++","readme":"# PatchMatchStereo\nPatchMatch，倾斜窗口经典，效果极佳，OpenMVS\u0026Colmap稠密匹配算法。完整实现，代码规范，注释清晰，博客教学，欢迎star！\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/Data/Cone/im2.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/Data/Cone/im6.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/res/cone-d.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/res/cone-c.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/Data/Reindeer/view1.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/Data/Reindeer/view5.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/res/reindeer-d.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/res/reindeer-c.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/Data/Piano/im0.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/Data/Piano/im1.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/res/piano-d.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n        \u003ctd \u003e\u003ccenter\u003e\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/res/piano-c.png\"\u003e\u003c/center\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctable\u003e\n  \n# CSDN博客\n如果你想了解更多代码讲解，下面的博客或许能帮到你：\n\u003cbr\u003e[【码上实战】【立体匹配系列】经典PatchMatch: （1）框架](https://ethanli.blog.csdn.net/article/details/107192399)\n\u003cbr\u003e[【码上实战】【立体匹配系列】经典PatchMatch: （2）主类](https://blog.csdn.net/rs_lys/article/details/107251788)\n\u003cbr\u003e[【码上实战】【立体匹配系列】经典PatchMatch: （3）随机初始化](https://blog.csdn.net/rs_lys/article/details/107271430)\n\u003cbr\u003e[【码上实战】【立体匹配系列】经典PatchMatch: （4）代价计算](https://ethanli.blog.csdn.net/article/details/107418804)\n\u003cbr\u003e[【码上实战】【立体匹配系列】经典PatchMatch: （5）迭代传播](https://ethanli.blog.csdn.net/article/details/107436340)\n\u003cbr\u003e[【码上实战】【立体匹配系列】经典PatchMatch: （6）后处理](https://ethanli.blog.csdn.net/article/details/107549278)\n\n# 环境\nwindows10 / visual studio 2015\u00262019\n\u003cbr\u003e代码基本没有使用系统api，你可以非常方便的移植到linux，可能需要做极少量的修改\n\u003cbr\u003e\u003cbr\u003e\u003cb\u003e强烈建议你使用release模式运行代码，强烈不建议使用debug模式运行代码\u003c/b\u003e\n\n# 第三方库\nopencv310\n\u003cbr\u003e\n百度网盘连接：https://pan.baidu.com/s/1_WD-KdPyDBazEIim7NU3jA \n\u003cbr\u003e\n提取码：aab4\n\u003cbr\u003e\u003cbr\u003e\n解压后放将名称为OpenCV的文件夹复制到到3rdparty文件夹下\n\u003cbr\u003e\u003cbr\u003e若运行时提示缺少opencv_world310(d).dll，则在OpenCV文件夹里找到对应的dll文件复制到程序exe所在的目录即可（Opencv\\dll\\opencv_world310(d).dll），带d为debug库，不带d为release库。\n\u003cbr\u003e\u003cbr\u003e\n为便于移植，算法是不依赖任何图像库的，只在算法实验部分调用opencv库读取和显示图像，也可替换成其他图像库\n\n# 算法引导\n算法框架图\n\u003cdiv align=center\u003e\n\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/%E7%AE%97%E6%B3%95%E6%A1%86%E6%9E%B6.png\" width=80%\u003e\n\u003c/div\u003e\n\u003cbr/\u003e代码框架图\u003cbr/\u003e\n\u003cdiv align=center\u003e\n\u003cimg src=\"https://github.com/ethan-li-coding/PatchMatchStereo/blob/master/doc/exp/%E4%BB%A3%E7%A0%81%E6%A1%86%E6%9E%B6.png\" width=60%\u003e\n\u003c/div\u003e\n\n## 备注\n\u003cb\u003e算法优点\u003c/b\u003e：效果好，内存占用低\n\u003cbr\u003e\u003cb\u003e算法缺点\u003c/b\u003e：效率低，速度比较慢，不建议跑大图，建议跑个小图看看效果（Release模式）。如果设置为前端平行窗口（PatchMatchStereo为倾斜窗口时效果最好），则速度会更快，如下：\n\u003epms_option.is_fource_fpw = true;\n\n## 论文\nBleyer M, Rhemann C, Rother C. \u003cb\u003ePatchMatch Stereo-Stereo Matching with Slanted Support Windows\u003c/b\u003e[C]. British Machine Vision Conference 2011. 2011.\n\n## Github图片不显示的解决办法\n修改hosts\n\nC:\\Windows\\System32\\drivers\\etc\\hosts\n\n在文件末尾添加：\n\n``` cpp\n# GitHub Start\n192.30.253.119      gist.github.com\n151.101.184.133     assets-cdn.github.com\n151.101.184.133     raw.githubusercontent.com\n151.101.184.133     gist.githubusercontent.com\n151.101.184.133     cloud.githubusercontent.com\n151.101.184.133     camo.githubusercontent.com\n151.101.184.133     avatars0.githubusercontent.com\n151.101.184.133     avatars1.githubusercontent.com\n151.101.184.133     avatars2.githubusercontent.com\n151.101.184.133     avatars3.githubusercontent.com\n151.101.184.133     avatars4.githubusercontent.com\n151.101.184.133     avatars5.githubusercontent.com\n151.101.184.133     avatars6.githubusercontent.com\n151.101.184.133     avatars7.githubusercontent.com\n151.101.184.133     avatars8.githubusercontent.com\n# GitHub End\n\n\n```\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethan-li-coding%2FPatchMatchStereo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethan-li-coding%2FPatchMatchStereo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethan-li-coding%2FPatchMatchStereo/lists"}