我为什么会收到此错误:imutils VideoStream(src = 0)返回VIDIOC_QBUF:树莓派中的无效参数

我只在Raspberry Pi 4中运行以下简单代码:

from imutils.video import VideoStream

# initialize the video streams and allow them to warmup
print("[INFO] starting cameras...")
webcam = VideoStream(src=0).start()

我可以使用Raspberry Pi相机运行此代码而没有任何问题,但是我的Logitech C310网络摄像头出现错误。

错误是:VIDIOC_QBUF: Invalid argument

与终端中的fswebcam配合使用时,相机可以完美工作。我还尝试将其与在线摄像头测试一起使用,并且可以正常工作。我唯一的问题是相机无法与我的Python代码一起使用。我还尝试将其与opencv一起使用,它返回了None

硬件:Raspberry Pi 4 4GB

操作系统:Raspbian Buster

希望任何人都可以帮助我,谢谢。

likewindyaya 回答:我为什么会收到此错误:imutils VideoStream(src = 0)返回VIDIOC_QBUF:树莓派中的无效参数

使用Logitech c270网络摄像头和教程https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/时遇到相同的问题。使用Picamera的代码可以正常工作,但我讨厌这种质量。 C270网络摄像头可以在Guvcview上正常工作。

我没有注释网络摄像头的python代码中的行,但没有注释。

我不确定在python脚本之外是否需要更改某些代码行,我希望避免。任何帮助表示赞赏。谢谢。

,

我通过降低分辨率解决了Logitech C920的类似问题。在最大分辨率(1920x1080)下,我也遇到VIDIOC_QBUF: Invalid argument错误,但是通过降低分辨率,我可以读取帧:

from cv2 import cv2
cam = cv2.VideoCapture(0)

# Change the camera setting using the set() function
cam.set(cv2.CAP_PROP_FRAME_WIDTH,1920)
cam.set(cv2.CAP_PROP_FRAME_HEIGHT,1080)

retval,frame = cam.read()

# do stuff with the captured image here
cam.release()
本文链接:https://www.f2er.com/3139184.html

大家都在问