use*_*641 15 python opencv beagleboneblack
我想在我的beaglebone上访问Logitech c310网络摄像头.对于任何设备ID,它总是返回false,我不知道为什么.
我使用以下代码.
>>> import cv2, numpy as np
>>> cam = cv2.VideoCapture(0)
>>> cam.open(0)
False
Run Code Online (Sandbox Code Playgroud)
相机确实在dev /中显示为video0 root@arm:~#lsusb
,如下所示,
root@arm:~# lsusb
Bus 001 Device 002: ID 046d:081b Logitech, Inc. Webcam C310
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Run Code Online (Sandbox Code Playgroud)
我也可以用相机来访问相机v4l2-ctl
.请注意,我对OpenCV很新,所以这可能听起来很傻,我提前为此道歉.
小智 14
如果从pypi轮安装了cv2,则不支持视频相关功能(不使用FFmpeg编译):
pip install opencv-python
Run Code Online (Sandbox Code Playgroud)
https://pypi.python.org/pypi/opencv-python
kau*_*k94 12
HIGHGUI ERROR: V4L: index 1 is not correct!
False
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in cvGetMat, file /home/kaushik/Desktop/OpenCV-2.4.1/modules/core/src/array.cpp, line 2482
Traceback (most recent call last):
File "x2.py", line 8, in <module>
cv2.imshow('frame', frame)
cv2.error: /home/kaushik/Desktop/OpenCV-2.4.1/modules/core/src/array.cpp:2482: error: (-206) Unrecognized or unsupported array type in function cvGetMat
Run Code Online (Sandbox Code Playgroud)
如果你得到这种错误,那么索引可能有问题.
而不是cv2.VideoCapture(0)添加:
cv2.VideoCapture(-1)
Run Code Online (Sandbox Code Playgroud)
这将为您提供第一台工作相机.如果出现任何问题,只需在此处发布堆栈跟踪,我会看看我是否可以帮助你:)