python opencv 官方教程中 45章立体图像中的深度地图提到了构建深度图的函数 StereoBM_create。代码如下:
import numpy as np
import cv2
from matplotlib import pyplot as plt
imgL = cv2.imread('tsukuba_l.png',0)
imgR = cv2.imread('tsukuba_r.png',0)
stereo = cv2.createStereoBM(numDisparities=16, blockSize=15)
disparity = stereo.compute(imgL,imgR)
plt.imshow(disparity,'gray')
plt.show()
这里会报错,把 cv2.createStereoBM 修改为 cv2.StereoBM_create,正确代码如下:
import cv2
from matplotlib import pyplot as plt
imgL = cv2.imread('23.jpg',0)
imgR = cv2.imread('24.jpg',0)
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=11)
disparity = stereo.compute(imgL,imgR)
plt.imshow(disparity,'gray')
plt.show()
stereo = cv2.StereoBM_create(numDisparities=