I am trying to get the depth map of two stereo images. I have taken the code from this documentation.
I get the following error:
Traceback (most recent call last):
File "depth.py", line 9, in <module>
stereo = cv2.createStereoBM(numDisparities=16, blockSize=15)
AttributeError: 'module' object has no attribute 'createStereoBM'
My code is:
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()
I entered the Python line interpreter, and wrote the following code:
import cv2
help(cv2)
There is no function called createStereoBM
in cv2
.
Is the code wrong in the link provided at the top? I am using Python 2.7.3 in Ubuntu 12.04. Is it possible that the code is meant for Python 3 and above?
Please help.
cv2.StereoBM_create(numDisparities=16, blockSize=15)
Try it. My opencv version is 3.2.
If you want to find any function working in opencv, you can try this
- import(cv2)
- help(cv2)
import numpy as np
import cv2
from matplotlib import pyplot as plt
imgL = cv2.imread('l.png',0)
imgR = cv2.imread('r.png',0)
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)
disparity = stereo.compute(imgL,imgR)
plt.imshow(disparity,'gray')
plt.show()
try to use this code is your using the code from open-cv documentation
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With