如何应用特征匹配方法来增强立体视差图结果

问题描述

最近我使用 Middlebury Stereo Datasets 2005生成视差图。将仅使用数据集 Art、Dolls 和 Reindeer。要求是为每个集合生成只有view1.png和view5.png的视差图。

我尝试直接使用 cv2.StereoSGBM 和 cv2.StereoBM 生成深度图,但并没有真正给出令人满意的结果,这是使用 StereoSGBM 代码的 Art 的结果:

imgL = cv2.imread('./Art/view1.png',cv2.IMREAD_GRAYSCALE)
imgR = cv2.imread('./Art/view5.png',cv2.IMREAD_GRAYSCALE)
win_size = 3
stereo = cv2.StereoSGBM_create(
    mindisparity=20,numdisparities=200,blockSize=7,uniquenessRatio=10,speckleWindowSize=3,speckleRange=1,P1=8 * 3 * win_size ** 2,P2=32 * 3 * win_size ** 2,)
disparity_SGBM = stereo.compute(imgL,imgR)

enter image description here

除了 StereoSGBM 和 StereoBM,我还看到人们在计算深度图之前使用带有 ORB / SIFT 的特征数学方法来运行 cv2.warpPerspective,但是,它的转换方式似乎失败了(右侧):

enter image description here

使用上述方法生成深度图后,我还实现了 wlsd 过滤器,但我对 lambda 和 sigma 值感到困惑。我想问一下我应该如何实现这些方法来增强输出

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)