Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hackassin
GitHub Repository: hackassin/learnopencv
Path: blob/master/EpipolarGeometryAndStereoVision/stereo.py
3118 views
1
from __future__ import print_function
2
3
import numpy as np
4
import cv2
5
6
def main():
7
imgL = cv2.imread("images/im0.png",0)
8
imgL = cv2.resize(imgL,(600,600))
9
10
imgR = cv2.imread("images/im1.png",0)
11
imgR = cv2.resize(imgR,(600,600))
12
13
# Setting parameters for StereoSGBM algorithm
14
minDisparity = 0
15
numDisparities = 64
16
blockSize = 8
17
disp12MaxDiff = 1
18
uniquenessRatio = 10
19
speckleWindowSize = 10
20
speckleRange = 8
21
22
# Creating an object of StereoSGBM algorithm
23
stereo = cv2.StereoSGBM_create(minDisparity = minDisparity,
24
numDisparities = numDisparities,
25
blockSize = blockSize,
26
disp12MaxDiff = disp12MaxDiff,
27
uniquenessRatio = uniquenessRatio,
28
speckleWindowSize = speckleWindowSize,
29
speckleRange = speckleRange
30
)
31
32
# Calculating disparith using the StereoSGBM algorithm
33
disp = stereo.compute(imgL, imgR).astype(np.float32)
34
35
# Calculating disparith using the StereoSGBM algorithm
36
disp = cv2.normalize(disp,0,255,cv2.NORM_MINMAX)
37
38
# Displaying the disparity map
39
cv2.imshow("disparity",disp)
40
cv2.imshow("left image",imgL)
41
cv2.imshow("right image",imgR)
42
cv2.waitKey(0)
43
44
45
if __name__ == '__main__':
46
main()
47
cv2.destroyAllWindows()
48
49