2

我只在我的 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.

硬件:树莓派 4 4GB

操作系统:Raspbian Buster

希望有人能帮助我,谢谢。

4

1 回答 1

0

我通过降低分辨率解决了罗技 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()
于 2020-01-20T20:18:09.440 回答