【问题标题】:Bad disparity map using OpenCV使用 OpenCV 的错误视差图
【发布时间】:2018-10-02 23:20:49
【问题描述】:

我正在尝试在 python 中使用 openCV3 计算视差图,但结果并不令人满意。我确保校准和纠正正确完成:

我使用这些校正后的图像在 Matlab 中尝试了视差函数,结果非常好。然而,opencv 的输出看起来像梵高的画作:

.

这里是视差相关的python代码:

block_matcher = cv2.StereoBM_create(numDisparities=16, blockSize=15)
disp = block_matcher.compute(rectified_l, rectified_r)

有趣的是,差异范围是 [-16,240],但是,我希望它在 [0,16] 范围内,因为我将 numDisparities 设置为 16。我误解了 numDisparities 的概念吗?我尝试改变 numDisparities 和 blockSize 但没有得到任何有意义的改进。

如果您对正在发生的事情有任何想法,请告诉我。

【问题讨论】:

    标签: python opencv computer-vision stereo-3d disparity-mapping


    【解决方案1】:

    我弄清楚了发生了什么,以及为什么 Matlab 的表现要好得多。 我原帖中的视差图是使用openCV的StereoBM方法得到的,而Matlab使用的是StereoSGBM。在我切换到 StereoSGBM 后,结果看起来好多了,并且与我从 Matlab 得到的结果相同。

    【讨论】:

      猜你喜欢
      • 2016-06-24
      • 2013-12-19
      • 2020-01-26
      • 2015-06-09
      • 2011-05-27
      • 2014-05-26
      • 2014-07-18
      • 1970-01-01
      • 2011-04-18
      相关资源
      最近更新 更多