我正在尝试使用opencv在目录中实时存储某些帧。但是,我无法使用外部网络摄像头拍照。我的内置网络摄像头可以与此程序很好地兼容,但是我的外部网络摄像头却不能。
我尝试使用cap.open()
方法,但是它仍然不起作用。
import cv2
cap = cv2.VideoCapture(0)#0 is internal cam : 1 is external webcam
if cap.isOpened() == True:
print("camera works")
pass
else:
cap.open(1)
print('opened camera')
ret, frame = cap.read()
cv2.imshow("imshow",frame)
cv2.waitKey(1)
我期望frame
是我可以处理的值,但是当我开始调试时,我看到它是一个None
变量。为什么会发生这种情况,我该如何解决?
答案 0 :(得分:0)
cap = cv2.VideoCapture(0)通常意味着打开内部摄像头
cap = cv2.VideoCapture(1)打开第二个已加载的摄像头,通常是外部摄像头
import numpy as np import cv2
cap = cv2.VideoCapture(1)
while(1):
ret, img = cap.read()
cv2.imshow('img',img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()