###発生している問題・エラーメッセージ
pythonを使用してOpenCvからWebカメラの動画を読み込もうとすると
import cv2
cap = cv2.VideoCapture(0)
VIDEOIO ERROR: V4L: index 0 is not correct!
上記のエラーが発生しました。
###前提・実現したいこと
・USBカメラのデバイス番号の調べ方。
・下記の検証の際に正しい番号を指定している場合になぜエラーが発生するのか。そしてそれの解決策。
###試したこと
・USBカメラ自体はOS上から認識されている。(USBカメラを使用する他のソフトより起動を確認)
$ lsusb
Bus 001 Device 009: ID 1e4e:0103 Cubeternet → 該当のUSBカメラデバイス。デバイス番号は9?
デバイス番号:-1で試した場合
cap = cv2.VideoCapture(-1)
VIDIOC_QUERYCTRL: Input/output error
デバイス番号:1で試した場合
cap = cv2.VideoCapture(1)
VIDIOC_QUERYCTRL: Input/output error
VIDEOIO ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
Unable to stop the stream: Device or resource busy
デバイス番号:9で試した場合
cap = cv2.VideoCapture(9)
VIDEOIO ERROR: V4L: index 9 is not correct!
・libv4l-devはインストール済
$ apt-cache search libv4l-dev
libv4l-dev - Collection of video4linux support libraries (development files)
https://iwaki2009.blogspot.jp/2014/04/ubuntu-tips-camera.html
上記サイトを参考にデバイス番号を調べようとしたところ
/dev/serial
が存在しない。。。
$ cat /proc/asound/devices
1: : sequencer
2: [ 1] : control
3: [ 1- 0]: digital audio playback
4: [ 1- 0]: digital audio capture
5: [ 1- 0]: hardware dependent
6: [ 0] : control
7: [ 0- 3]: digital audio playback
8: [ 0- 7]: digital audio playback
9: [ 0- 0]: hardware dependent
10: [ 2] : control
11: [ 2- 0]: digital audio capture →該当のカメラデバイス。デバイス番号は11?
33: : timer
cap = cv2.VideoCapture(11)
VIDEOIO ERROR: V4L: index 11 is not correct!
$ cat /proc/asound/Camera/pcm0c/info
card: 2
device: 0 →デバイス番号は0?
subdevice: 0
stream: CAPTURE
id: USB Audio
name: USB Audio
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
###補足情報(言語/FW/ツール等のバージョンなど)
Ubuntu 16.04.1
OpenCv 3.1.0
Python 3.5.2
Anaconda 4.2.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/08 09:24
2016/11/08 09:36
2016/11/08 09:56
2016/11/08 10:05