网络摄像头无法通过OpenCV读取,但可以使用guvcview读取

问题描述 投票:3回答:1

我有一个相当老的摄像头。我一直在尝试使其工作。我从guvcview开始工作,但是它只给我捕获的第一帧,然后停止。现在还好。

我正在尝试使用OpenCV重新创建此行为。我在linux上并使用python。据我了解,我最好的选择是让OpenCV使用guvcview正在使用的v4l2。

我的长远想法是只获取第一帧,但是要循环执行以获取“视频”,但是帧速率较低。

但是,通过下面的非常简单的程序,出现以下错误:

import cv2
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
if frame:
    cv2.imshow("frame", frame)

我循环执行此代码,直到向我展示一些东西。我得到的错误:

select timeout
VIDIOC_DQBUF: Resource temporarily unavailable
VIDIOC_QBUF: Invalid argument

我有时会在guvcview中得到相同的错误,但是重新启动该程序将解决此问题。请注意,在我的程序运行时,guvcview无法正常工作(即使未显示任何图像)。还要注意,read()函数需要几秒钟的时间才能返回。

python opencv v4l2 v4l
1个回答
0
投票

我遇到相同的错误:(您找到解决方案了吗?

最好的问候oli

© www.soinside.com 2019 - 2024. All rights reserved.