Python 摄影机不适用于opencv,但适用于拖缆

Python 摄影机不适用于opencv,但适用于拖缆,python,opencv,camera,Python,Opencv,Camera,我正在尝试使用beaglebone和使用opencv和python的usb摄像头。 我抓拍图像有困难。然而,命令行工具拖缆似乎可以工作。 对于python,我得到: >>> import cv2 >>> cap = cv2.VideoCapture(0) >>> cap.read() libv4l2: error dequeuing buf: No such device VIDIOC_DQBUF: No such device 但是,通过

我正在尝试使用beaglebone和使用opencv和python的usb摄像头。 我抓拍图像有困难。然而,命令行工具拖缆似乎可以工作。 对于python,我得到:

>>> import cv2
>>> cap = cv2.VideoCapture(0)
>>> cap.read()
libv4l2: error dequeuing buf: No such device
VIDIOC_DQBUF: No such device
但是,通过命令行,我可以执行以下操作,并且效果良好:

streamer -f jpeg -o image.jpeg
有一个/dev/video0 当我使用lsusb时,我看到相机

Bus 001 Device 003: ID 1908:2310 GEMBIRD 

关于如何让相机与cv2配合使用的任何建议都表明,这款相机的rez非常低,我必须指定它是320x240,而不是默认的640x480。碰巧拖缆在默认情况下是320x240,所以它在默认情况下工作

这是代码

import cv2
cap = cv2.VideoCapture(0)
cap.set(3,320)
cap.set(4,240)
status,image = cap.read()
cv2.imwrite("current.jpg", image)