【发布时间】:2017-01-29 04:57:15
【问题描述】:
我编写了一个脚本来显示来自我的网络摄像头的深度图:
cam_a = int(sys.argv[1])
cam_b = int(sys.argv[2])
while True:
imgl = cv2.VideoCapture(cam_a).read()[1]
imgL = cv2.cvtColor(imgl, cv2.COLOR_BGR2GRAY)
imgr = cv2.VideoCapture(cam_b).read()[1]
imgR = cv2.cvtColor(imgr, cv2.COLOR_BGR2GRAY)
stereo = cv2.StereoBM(cv2.STEREO_BM_BASIC_PRESET,ndisparities=16, SADWindowSize=15)
disparity = stereo.compute(imgL,imgR)
cv2.imshow('Disparity', disparity)
虽然它不会给我一个错误,但它确实会不停地闪烁我的两个网络摄像头。我担心这可能会破坏我的网络摄像头,我该如何阻止它?
编辑
因此,我对其进行了更改,使其仅将一个摄像头显示为普通视频:
while True:
imgl = cv2.VideoCapture(cam_a).read()[1]
imgL = cv2.cvtColor(imgl, cv2.COLOR_BGR2GRAY)
#imgr = cv2.VideoCapture(cam_b).read()[1]
#imgR = cv2.cvtColor(imgr, cv2.COLOR_BGR2GRAY)
#stereo = cv2.StereoBM(cv2.STEREO_BM_BASIC_PRESET,ndisparities=16, SADWindowSize=15)
#disparity = stereo.compute(imgL,imgR)
cv2.imshow('Disparity', imgL)
cv2.waitKey(10)
它仍然只是让相机闪烁。我不确定这里要改变什么。
【问题讨论】:
标签: python opencv video webcam depth