AttributeError: 模块“cv2”没有属性“createStereoBM”

ntd*_*ntd 7 python opencv stereo-3d

我试图运行 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()
Run Code Online (Sandbox Code Playgroud)

我在行中遇到错误

stereo = cv2.createStereoBM(numDisparities=16, blockSize=15)
Run Code Online (Sandbox Code Playgroud)

这是错误

AttributeError: module 'cv2' has no attribute 'createStereoBM'
Run Code Online (Sandbox Code Playgroud)

我尝试了之前在 stackoverflow、github 和其他论坛上列出的许多其他解决方案,但似乎没有一个有效。

可以在此处找到 OpenCV 文档的链接

任何帮助将不胜感激。谢谢。

Moh*_*faa 5

正如oluwafemi-sule在评论中提到的,你只需要使用cv2.StereoBM_create而不是cv2.createStereoBM它就会起作用

在此输入图像描述