PatchMatch 算法主程序
视差图转点云脚本
编译依赖于OpenCV 4.x版本,3.x不能保存pfm图像
PatchMatch.exe F:\1_Code\2_CPP\PatchMatchStereoSAD\imgs\Speckle\BL75\qinnv\im0.png F:\1_Code\2_CPP\PatchMatchStereoSAD\imgs\Speckle\BL75\qinnv\im1.png F:\1_Code\2_CPP\PatchMatchStereoSAD\imgs\Speckle\BL75\qinnv\PM3SAD11MF7 11 500 3
参数解释:PatchMatch.exe [左图] [右图] [结果保存路径(会自动创建,但只会创建最后一级目录)] [SAD窗口大小] [最大视差] [迭代次数]
- 匹配代价计算修改为SAD,原版论文是颜色+梯度计算的,使用SAD不需要梯度计算,这部分也注释了,可查看plane_match_cost函数
- 视差优化阶段的加权中值滤波修改为中值滤波,对于散斑IR图,加权的方式并不适用
运行结果均在imgs目录下
- 150mm基线琴女
- 150mm基线广东青年
PM3SAD11MF7 表示 PatchMatch迭代3次 SAD窗口大小11 中值滤波窗口大小7
使用MiddleBury提供的工具cvkit打开disp0PM3SAD11MF7.pfm,按m键可以伪彩色显示,按p键可以直接显示点云,其它功能按h查询