我检查了其他解决方案,但他们没有回答我的问题。 我的问题是,每当我尝试从视频中捕获一帧时(我想基本上用我的网络摄像头拍照)我只是得到一个黑色的窗口。
代码 -
import cv2
cam = cv2.VideoCapture(0)
frame = cam.read()[1]
cv2.imwrite('img2.png', frame)
cv2.imshow("img1", frame)
截图 -
https://imgur.com/kfeXYvQ
我的网络摄像头是USB,720p,30fps。
感谢。
答案 0 :(得分:2)
两件事之一。您可能需要在waitKey()
之后添加cv2.imshow()
。或者,您不会检查相机的返回是否有任何错误。这可能是一个连接问题。以下是两件事。
import cv2
cam = cv2.VideoCapture(0)
retval, frame = cam.read()
if retval != True:
raise ValueError("Can't read frame")
cv2.imwrite('img2.png', frame)
cv2.imshow("img1", frame)
cv2.waitKey()
waitKey()
函数暂停程序,直到用户在窗口中输入了一个键。