首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >USB摄像头超时/长期操作繁忙

USB摄像头超时/长期操作繁忙
EN

Stack Overflow用户
提问于 2022-03-24 19:45:57
回答 1查看 610关注 0票数 1

TLDR:摄像头停止继续使用返回图像。

我正在使用Raspberry Pi4、Ubuntu、OpenCV运行一个连续的应用程序,在这里,我每5秒捕获一次图像,并将其发送到API。我有一个问题,我得到的None帧后,一段时间,相机变得没有反应。

我曾尝试在命令行中直接使用V4L2和fswebcam作为测试,但我仍然得到了同样的问题,即相机要么完全没有响应,要么需要几分钟才能捕捉到图像。

简化代码

代码语言:javascript
运行
复制
import cv2
import time

cam=cv2.VideoCapture(0)
time.sleep(2)
cam.set(3,1280)
cam.set(4,720)
cam.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter_fourcc('M','J','P','G'))

while True:
     time.sleep(5)
     ret , frame = cam.read()

这在一开始运行的很好,但是随着时间的推移,图像的速度越来越慢。最后,它返回None帧并变得没有响应。随后试图释放和选择相机会导致相机选择超时错误。

代码语言:javascript
运行
复制
VIDEOIO(V4L2:/dev/video0): select() timeout

你知不知道是什么原因导致相机开始用越来越长的时间来捕捉图像,以及为什么相机会变得反应迟钝?

EN

回答 1

Stack Overflow用户

发布于 2022-03-24 20:24:50

您是否尝试过此实现以避免在等待5秒时占用视频拍摄资源?

代码语言:javascript
运行
复制
import cv2
import time

while True:
    time.sleep(5)
    cam=cv2.VideoCapture(0)
    time.sleep(2)
    cam.set(3,1280)
    cam.set(4,720)
    cam.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter_fourcc('M','J','P','G'))
    ret , frame = cam.read()
    cam.release()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71608548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档