基于OpenCV的差视差图

2024-06-30 15:01:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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

rectification result

利用这些校正后的图像,在Matlab中进行了视差函数的实验,效果很好。然而,opencv的输出看起来像梵高的paitning:

disparity map。在

下面是与视差相关的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,但没有得到任何有意义的改进。在

如果你有什么想法请告诉我。在


Tags: 函数图像利用matcherblockopencv校准校正
1条回答
网友
1楼 · 发布于 2024-06-30 15:01:41

我发现了到底发生了什么,以及为什么Matlab表现得更好。 在我的原帖中,视差图是用openCV的StereoBM方法得到的,而Matlab使用的是stereogbm。在我切换到立体GBM后,结果看起来好多了,和我从Matlab得到的一样。在

相关问题 更多 >