Ai
1 Star 0 Fork 1

Leo/Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
disparity.py 2.26 KB
Copy Edit Raw Blame History
import numpy as np
import cv2
minDisparity = 16
numDisparities = 192 - minDisparity
blockSize = 5
uniquenessRatio = 1
speckleWindowSize = 3
speckleRange = 3
disp12MaxDiff = 200
P1 = 600
P2 = 2400
stereo = cv2.StereoSGBM_create(
minDisparity = minDisparity,
numDisparities = numDisparities,
blockSize = blockSize,
uniquenessRatio = uniquenessRatio,
speckleRange = speckleRange,
speckleWindowSize = speckleWindowSize,
disp12MaxDiff = disp12MaxDiff,
P1 = P1,
P2 = P2
)
imgL = cv2.imread('../images/color1_small.jpg')
imgR = cv2.imread('../images/color2_small.jpg')
def update(sliderValue=0):
try:
blockSize = cv2.getTrackbarPos('blockSize', 'Disparity')
uniquenessRatio = cv2.getTrackbarPos(
'uniquenessRatio', 'Disparity')
speckleWindowSize = cv2.getTrackbarPos(
'speckleWindowSize', 'Disparity')
speckleRange = cv2.getTrackbarPos(
'speckleRange', 'Disparity')
disp12MaxDiff = cv2.getTrackbarPos(
'disp12MaxDiff', 'Disparity')
except cv2.error:
# One or more of the sliders has not been created yet.
return
stereo.setBlockSize(blockSize)
stereo.setUniquenessRatio(uniquenessRatio)
stereo.setSpeckleWindowSize(speckleWindowSize)
stereo.setSpeckleRange(speckleRange)
stereo.setDisp12MaxDiff(disp12MaxDiff)
disparity = stereo.compute(
imgL, imgR).astype(np.float32) / 16.0
cv2.imshow('Left', imgL)
cv2.imshow('Right', imgR)
cv2.imshow('Disparity',
(disparity - minDisparity) / numDisparities)
cv2.namedWindow('Disparity')
cv2.createTrackbar('blockSize', 'Disparity', blockSize, 21,
update)
cv2.createTrackbar('uniquenessRatio', 'Disparity',
uniquenessRatio, 50, update)
cv2.createTrackbar('speckleWindowSize', 'Disparity',
speckleWindowSize, 200, update)
cv2.createTrackbar('speckleRange', 'Disparity',
speckleRange, 50, update)
cv2.createTrackbar('disp12MaxDiff', 'Disparity',
disp12MaxDiff, 250, update)
# Initialize the disparity map. Show the disparity map and images.
update()
# Wait for the user to press any key.
# Meanwhile, update() will be called anytime the user moves a slider.
cv2.waitKey()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/akwkevin/Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition.git
git@gitee.com:akwkevin/Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition.git
akwkevin
Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition
Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition
master

Search