我试图在python中使用openCV3计算视差图,但结果并不令人满意。我确保校准和校正正确完成:
利用这些校正后的图像,在Matlab中进行了视差函数的实验,效果很好。然而,opencv的输出看起来像梵高的paitning:
下面是与视差相关的python代码:
block_matcher = cv2.StereoBM_create(numDisparities=16, blockSize=15)
disp = block_matcher.compute(rectified_l, rectified_r)
有趣的是,差异的范围是[-16240],但是,我希望它在[0,16]中,因为我将numDisparities设置为16。我是不是误解了数字稀缺性的概念?我尝试改变numDisparity和blockSize,但没有得到任何有意义的改进。在
如果你有什么想法请告诉我。在
我发现了到底发生了什么,以及为什么Matlab表现得更好。 在我的原帖中,视差图是用openCV的StereoBM方法得到的,而Matlab使用的是stereogbm。在我切换到立体GBM后,结果看起来好多了,和我从Matlab得到的一样。在
相关问题 更多 >
编程相关推荐