質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

25681閲覧

OpenCvでWebカメラから動画読み込めません

wakame_taishi

総合スコア73

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

1クリップ

投稿2016/11/08 09:05

###発生している問題・エラーメッセージ
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

USBのWebカメラでも相性により接続できないケースを今まで何件も見てきました。まずはUVC対応かどうか?
出来ればカメラのメーカー型番が知りたいです。

投稿2016/11/08 09:17

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wakame_taishi

2016/11/08 09:24

バッファローのBSW13K08Hという機種です。UVCには対応しているようです。
MasahikoHirata

2016/11/08 09:36

OpenCVのアプリより前に何かのソフトがWebカメラを占有していませんか?
wakame_taishi

2016/11/08 09:56

再起動したところカメラ動画が読み込めました。別のソフトがカメラを使っていたのかも知れません。ご指摘ありがとうございます!
MasahikoHirata

2016/11/08 10:05

私もたまに違うソフトでWebカメラを使っていて、Openエラーってやるので、もしかしたらと思いました。よかったよかった。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問