AttributeError: module 'cv2' has no attribute 'createStereoBM'

AttributeError: module 'cv2' has no attribute 'createStereoBM'

我尝试 运行 OpenCV 文档中的代码,用于从左右立体图像创建视差图像,但它给了我一个错误。这是我的代码 运行.

import cv2
from matplotlib import pyplot as plt

imgL = cv2.imread(r'D:\left.png', 0)
imgR = cv2.imread(r'D:\right.png', 0)

stereo = cv2.createStereoBM(numDisparities=16, blockSize=15)
disparity = stereo.compute(imgL, imgR)
plt.imshow(disparity, 'gray')
plt.show()

我在行中遇到错误

stereo = cv2.createStereoBM(numDisparities=16, blockSize=15)

这就是错误

AttributeError: module 'cv2' has no attribute 'createStereoBM'

我尝试过之前在 Whosebug、github 和其他论坛上列出的许多其他解决方案,但其中 none 似乎有效。

可以找到 OpenCV 文档的 link here

如有任何帮助,我们将不胜感激。谢谢

正如评论中提到的 oluwafemi-sule 你只需要使用 cv2.StereoBM_create 而不是 cv2.createStereoBM 就可以了