python - 使用 Python 捕获单帧(使用网络摄像头)

标签 python image opencv webcam

我检查了其他解决方案,但他们没有回答我的问题。
我的问题是,每当我尝试从视频中仅捕获一帧(我想基本上用我的网络摄像头拍照)时,我只会得到一个黑色窗口。

代码 -

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。

谢谢。

最佳答案

两件事之一。可能需要添加 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()函数暂停程序,直到用户在窗口中输入一个键。

关于python - 使用 Python 捕获单帧(使用网络摄像头),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824785/

相关文章:

python - 如何忽略 python 正则表达式组匹配中的字符串?

python - 如何在 Elastic Beanstalk 上启动时运行一次 python 脚本

python - Python 中 Point(x,y) 类的 __setitem__() 实现

image - opencv 在另一个图像上查找图像坐标

Android Opencv补色计算

python , Selenium : ImportError: No module named options

html - 在 <a> 标签内调整图像大小

html - 如何在不更改div大小的情况下更改div内图像的大小

python - 使用opencv python进行颜色检测

image-processing - 如何处理图像中的浮点坐标值