前提・実現したいこと
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/ツールのバージョンなど)
年内に解決したいので、お力を貸してください。
回答1件
あなたの回答
tips
プレビュー