OpenCV 差异输出没有意义

OpenCV disparity output not making sense

我一直在尝试使用一对网络摄像头自制立体相机。我已经拍了几张照片并使用OpenCV进行校准。

修正样本图像:

校准棋盘似乎是水平排列的。

但是当我根据these instructions生成视差图时,结果似乎没有意义。

我的视差图代码相当简单:

stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)
disparity = stereo.compute(image_left, image_right)
cv2.imwrite(disparity, 'try2.ppm')

我哪里错了?

您应该使用不同距离的校准图案图像来校准相机。然后检查与相机不同距离的视差图并找到最佳区域。