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

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

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

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

Python 3.x

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

Ubuntu

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

21920閲覧

Ubuntuを用いたwebカメラの使用

pampukin

総合スコア15

OpenCV

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

Python 3.x

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

Ubuntu

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2018/12/07 06:36

編集2018/12/07 08:10

前提・実現したいこと

Ubuntu18.04にてOpenCV3.4とPython3.6を用いて顔認識機能を制作しています。
顔認識は実現しましたが、次のステップとして、Webカメラを用いたリアルタイム顔認識を実現したいと考えています。現在は単純にWebカメラの映像を画面に表示したいだけです。

Webカメラから取得される画像を表示する機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

VIDEOIO ERROR: V4L: can't open camera by index 0
Traceback (most recent call last):
File "test6.py", line 9, in <module>
print(確認)
NameError: name '確認' is not defined

該当のソースコード

import cv2

cap = cv2.VideoCapture(0)

while True:
ret,frame = cap.read()
print(確認)
if ret:
cv2.imshow('test',frame)
print(ret)

key = cv2.waitKey(1)&0xff
if key == ord('q'):
break

cap.release()
cv2.destroyAllWindows()

試したこと

追記の.ver3,4は解決したので削除してあります。

[追記.ver6]
opencvの詳細です。やり方まで説明して頂いきありがとうございます。

General configuration for OpenCV 3.4.3 ===================================== Version control: 3.4.3 Platform: Timestamp: 2018-09-09T12:23:20Z Host: Linux 4.4.0-101-generic x86_64 CMake: 3.9.0 CMake generator: Unix Makefiles CMake build tool: /usr/bin/gmake Configuration: Release CPU/HW features: Baseline: SSE SSE2 SSE3 requested: SSE3 Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX SSE4_1 (3 files): + SSSE3 SSE4_1 SSE4_2 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX AVX (5 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX AVX2 (9 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 C/C++: Built as dynamic libs?: NO C++ Compiler: /opt/rh/devtoolset-2/root/usr/bin/c++ (ver 4.8.2) C++ flags (Release): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG C++ flags (Debug): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG C Compiler: /opt/rh/devtoolset-2/root/usr/bin/cc C flags (Release): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG C flags (Debug): -Wl,-strip-all -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG Linker flags (Release): -L/root/ffmpeg_build/lib Linker flags (Debug): -L/root/ffmpeg_build/lib ccache: NO Precompiled headers: NO Extra dependencies: /opt/Qt4.8.7/lib/libQtGui.so /opt/Qt4.8.7/lib/libQtTest.so /opt/Qt4.8.7/lib/libQtCore.so /lib64/libz.so /opt/libjpeg-turbo/lib64/libjpeg.a avcodec avformat avutil swscale dl m pthread rt 3rdparty dependencies: ittnotify libprotobuf libwebp libpng libtiff libjasper IlmImf OpenCV modules: To be built: calib3d core dnn features2d flann highgui imgcodecs imgproc java_bindings_generator ml objdetect photo python3 python_bindings_generator shape stitching superres video videoio videostab Disabled: js world Disabled by dependency: - Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python2 ts viz Applications: - Documentation: NO Non-free algorithms: NO GUI: QT: YES (ver 4.8.7 EDITION = OpenSource) QT OpenGL support: NO GTK+: NO VTK support: NO Media I/O: ZLib: /lib64/libz.so (ver 1.2.3) JPEG: /opt/libjpeg-turbo/lib64/libjpeg.a (ver 62) WEBP: build (ver encoder: 0x020e) PNG: build (ver 1.6.34) TIFF: build (ver 42 - 4.0.9) JPEG 2000: build (ver 1.900.1) OpenEXR: build (ver 1.7.1) HDR: YES SUNRASTER: YES PXM: YES Video I/O: DC1394: NO FFMPEG: YES avcodec: YES (ver 58.21.104) avformat: YES (ver 58.17.101) avutil: YES (ver 56.18.102) swscale: YES (ver 5.2.100) avresample: NO GStreamer: NO libv4l/libv4l2: NO v4l/v4l2: linux/videodev.h linux/videodev2.h Parallel framework: pthreads Trace: YES (with Intel ITT) Other third-party libraries: Lapack: NO Eigen: NO Custom HAL: NO Protobuf: build (3.5.1) OpenCL: YES (no extra features) Include path: /io/opencv/3rdparty/include/opencl/1.2 Link libraries: Dynamic load Python 3: Interpreter: /opt/python/cp36-cp36m/bin/python (ver 3.6.5) Libraries: libpython3.6m.a (ver 3.6.5) numpy: /opt/python/cp36-cp36m/lib/python3.6/site-packages/numpy/core/include (ver 1.11.3) packages path: lib/python3.6/site-packages Python (for build): /opt/python/cp36-cp36m/bin/python Java: ant: NO JNI: NO Java wrappers: NO Java tests: NO Matlab: NO Install to: /io/_skbuild/linux-x86_64-3.6/cmake-install -----------------------------------------------------------------

[追記.ver5]print('確認')に変更しました。
基本的なミスでお恥ずかしいです。
しかし、
VIDIOC_QBUF: Invalid argument
確認
False
^CVIDIOC_QBUF: Invalid argument
Traceback (most recent call last):
File "test6.py", line 8, in <module>
ret,frame = cap.read()
KeyboardInterrupt

となり、動画は取得できませんでした。

[追記.ver2]「ls /dev」にて「video0」の存在は確認できました。

[追記.ver1]コマンドプロンプトにてLinuxのコマンド「lsusb」で確認しました。これによりWebカメラが接続されていることが分かりました。チャンネルの確認というのは語弊がありましたね。すみません。しかし、デバイス指定を”0”番としてWindows上で動作の確認ができているので問題ないのかと...。一番の問題はUbuntuでカメラが使用できないことにあると考えています。

同様のプログラムをWindows10でも実行しましたが、正常な動作が確認されました。
webカメラの接続は確認済みです。

他のPCでも同様の不具合が確認されています。
webカメラはlogicoolのオーソドックスなものを使用していますが、他の機種も試しました。

補足情報(FW/ツールのバージョンなど)

年内に解決したいので、お力を貸してください。

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

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

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

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

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

can110

2018/12/07 06:45

チャンネルの確認方法を追記ください。
can110

2018/12/07 07:08

追記ありがとうございます。それに加え「ls -l /dev」にて「video0」などは存在しますか?
can110

2018/12/07 07:20

opencvの詳細、import cv2 print(cv2.getBuildInformation()) の結果を追記ください。数十行あるのでコードブロックで囲うと読みやすいです。
LouiS0616

2018/12/07 07:47

print('確認')にすれば良いとかそういう話ではなく?
guest

回答1

0

ベストアンサー

動作未検証ですが

  • cap = cv2.VideoCapture(-1)でアクティブなカメラを自動指定する。
  • cap = cv2.VideoCapture('適当な動画.mp4')を指定する。

のいずれか動作するか試してみてはいかがでしょうか?

ダメであれば、そもそもOpenCVに動画関連の機能が組み込まれていないのかもしれませんので、OpenCVの導入方法から詳細確認、あるいは再インストール(ビルド)が必要だと思います。
OpenCVの詳細情報は

Python

1import cv2 2print(cv2.getBuildInformation())

で確認できます。以下Win10上での実行例です。

General configuration for OpenCV 3.4.1 ===================================== Version control: unknown Extra modules: Location (extra): C:/Miniconda3/conda-bld/opencv-suite_1533128839831/work/opencv_contrib-3.4.1/modules Version control (extra): unknown Platform: Timestamp: 2018-08-01T13:09:43Z Host: Windows 10.0.16299 AMD64 CMake: 3.12.0 CMake generator: NMake Makefiles JOM CMake build tool: jom MSVC: 1900 Configuration: Release CPU/HW features: Baseline: SSE SSE2 SSE3 requested: SSE3 Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX SSE4_1 (3 files): + SSSE3 SSE4_1 SSE4_2 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX AVX (5 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX AVX2 (9 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 C/C++: Built as dynamic libs?: YES C++11: YES C++ Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe (ver 19.0.23918.0) C++ flags (Release): -MD -GL /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /FS /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP6 /MD /O2 /Ob2 /DNDEBUG C++ flags (Debug): -MD -GL /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /FS /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP6 /MDd /Zi /Ob0 /Od /RTC1 C Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe C flags (Release): -MD -GL /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /FS /MP6 /MD /O2 /Ob2 /DNDEBUG C flags (Debug): -MD -GL /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /FS /MP6 /MDd /Zi /Ob0 /Od /RTC1 Linker flags (Release): /machine:x64 /INCREMENTAL:NO Linker flags (Debug): /machine:x64 /debug /INCREMENTAL ccache: NO Precompiled headers: NO Extra dependencies: 3rdparty dependencies: OpenCV modules: To be built: aruco bgsegm calib3d ccalib core datasets dnn dnn_objdetect dpm face features2d flann fuzzy hfs highgui img_hash imgcodecs imgproc java_bindings_generator line_descriptor ml objdetect optflow phase_unwrapping photo plot python_bindings_generator reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking video videoio videostab xfeatures2d ximgproc xobjdetect xphoto Disabled: bioinspired js world Disabled by dependency: - Unavailable: cnn_3dobj cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv dnn_modern freetype hdf java matlab ovis python2 python3 sfm ts viz Applications: apps Documentation: NO Non-free algorithms: NO Windows RT support: NO GUI: Win32 UI: YES Media I/O: ZLib: C:/Miniconda3/conda-bld/opencv-suite_1533128839831/_h_env/Library/lib/z.lib (ver 1.2.11) JPEG: C:/Miniconda3/conda-bld/opencv-suite_1533128839831/_h_env/Library/lib/jpeg.lib (ver 90) WEBP: build (ver encoder: 0x020e) PNG: C:/Miniconda3/conda-bld/opencv-suite_1533128839831/_h_env/Library/lib/libpng.lib (ver 1.6.34) TIFF: C:/Miniconda3/conda-bld/opencv-suite_1533128839831/_h_env/Library/lib/tiff.lib (ver 42 / 4.0.9) JPEG 2000: build (ver 1.900.1) OpenEXR: build (ver 1.7.1) Video I/O: Video for Windows: YES DC1394: NO FFMPEG: YES (prebuilt binaries) avcodec: YES (ver 57.107.100) avformat: YES (ver 57.83.100) avutil: YES (ver 55.78.100) swscale: YES (ver 4.8.100) avresample: YES (ver 3.7.0) GStreamer: NO DirectShow: YES Parallel framework: Concurrency Trace: YES (with Intel ITT) Other third-party libraries: Intel IPP: 2017.0.3 [2017.0.3] at: C:/Miniconda3/conda-bld/opencv-suite_1533128839831/work/build/3rdparty/ippicv/ippicv_win Intel IPP IW: sources (2017.0.3) at: C:/Miniconda3/conda-bld/opencv-suite_1533128839831/work/build/3rdparty/ippicv/ippiw_win Lapack: NO Eigen: YES (ver 3.3.3) Custom HAL: NO Protobuf: build (3.5.1) Python (for build): C:/Miniconda3/python.exe Java: ant: NO JNI: NO Java wrappers: NO Java tests: NO Install to: C:/Miniconda3/conda-bld/opencv-suite_1533128839831/_h_env/Library -----------------------------------------------------------------

おそらくsudo apt-get install python-opencvでプレビルドなパッケージをインストールしたと思われますが、提示結果ではlibv4l/libv4l2: NOとなっているのでWebカメラ機能が組み込まれていないようですのでソースからの再インストール(ビルド)が必要です。

再インストール(ビルド)については

が参考になりますが、正直、茨の道を進むことになります。(とても面倒そう)

投稿2018/12/07 07:29

編集2018/12/07 08:27
can110

総合スコア38341

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

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

pampukin

2018/12/07 07:40

回答ありがとうございます。 ご提案頂いた項目を試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問