我只在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
希望有人能帮助我,谢谢。
最佳答案
我通过降低分辨率解决了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()
关于python - 我为什么会收到此错误:imutils VideoStream(src = 0)返回VIDIOC_QBUF:树莓派中的无效参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58763384/