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

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

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

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

Python 3.x

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

Ubuntu

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

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

2回答

27008閲覧

OpenCvで動画の読み込みができません

wakame_taishi

総合スコア73

OpenCV

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

Python 3.x

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

Ubuntu

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

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2016/11/01 06:07

###前提・実現したいこと
OpenCvを使って動画の読み込みを行いたいと考えていますが、動画の読み込みができません。
vagrant上の仮想マシン(os:Ubuntu)でpythonによるプログラミングをおこなっています。

###発生している問題・エラーメッセージ
isOpened()で動画ファイルを開けているか確認したところFalseが返却されます

###該当のソースコード

python3

1import numpy as np 2import cv2 3import os.path 4 5cap = cv2.VideoCapture('/vagrant/project/testOpenCv/movie/hogehoge.mp4') 6print(cap.isOpened())

###試したこと
動画ファイルが存在する事はos.path.isfileで確認しています。
検証した動画ファイルの形式はmp4,avi,wmvです。
ファイルへのアクセスは絶対パス・相対パスのいずれも検証しました。

###補足情報(言語/FW/ツール等のバージョンなど)
Ubuntu 16.04.1
OpenCv 3.1.0
Python 3.5.2
Anaconda 4.2.0

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

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

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

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

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

yohhoy

2016/11/02 14:16 編集

OpenCVはFFmpegがインストールされていると対応動画コーデックが大幅に増えます(というよりOpenCV単体ではほとんどサポートしない)。単にFFmpegをインストールするだけではなく、OpenCVの再ビルドが必要かもしれませんが。
guest

回答2

0

手順を分かりやすくするため、新たに回答欄から。
取りあえず、まっさらからの環境の作り方
前準備

sudo apt-get install build-essential cmake git sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
wget https://github.com/Itseez/opencv/archive/3.1.0.zip unzip 3.1.0
cd opencv-3.1.0 mkdir build cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON .. make sudo make install sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' sudo ldconfig

参考になれば。

投稿2016/11/04 03:21

MasahikoHirata

総合スコア3747

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

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

wakame_taishi

2016/11/04 08:02

ありがとうございます。一度まっさらな状態から教えていただいた通りにしてビルドまで完了したのですが、pythonを起動しimport cv2をすると ImportError: No module named 'cv2' が出ました。 pythonのインストールはanacondaを使って、opencvはanacondaを使わずにインストールしたのでそれが原因のように思えますが。。。はっきりとはわかりません。
guest

0

まず原因を特定するためにも既存のPNGファイルなどが正常に読み込み表示できるかの確認をされる事をお勧めします。
それが正常であって、お手元に適当なUSBのWebカメラなどがあれば、VideoCaptureの引数に0(環境によっては1)を入れて実行。
これでcap.isOpend()の結果を見てみる。
これで正常であったら、ファイル指定しているmp4のファイルが壊れていないか、再生ができるプログラムで確認。

おおよそこれで原因が特定できるのでは?

投稿2016/11/01 09:00

MasahikoHirata

総合スコア3747

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

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

wakame_taishi

2016/11/01 10:38

ご回答ありがとうございます。VideoCaptureは画像ファイルの読み込みができるのでしょうか?(知識不足で申し訳ないです。。。)試してみましたが、やはり開けません。また、USBカメラでの取り込みを試したところ、そちらの読み込みはできました。動画ファイルはopenCvを使わなければ正常に再生されることは確認しています。
MasahikoHirata

2016/11/01 10:44

USBカメラからの取り込みが出来れば、取りあえずOSやPython及びOpencvはほぼ正常ですね。問題はmp4の辺りに限定されてくるかと。USBカメラでもありがちですが、エンコードによっては使用できない場合が。まずは他のmp4のファイルも用意して、mp4がその環境でVideoCaptureに対応しているか?だと思います。(設定によってはmp4が読めない場合があるらしい) ついでに別形式例えばmjpgとかが有ればこれも指定してオープンできるか確かめてみるのも手。
MasahikoHirata

2016/11/01 11:27

記事を要約するとmp4のコーデックが足らなくて追加したって内容でした。 mp4はファイル形式でその格納したデータのコーデック(圧縮方法)が搭載されていないと解凍できないので。
wakame_taishi

2016/11/04 03:09

教えて頂いたサイトを参考に再度ffmpegとopencvのビルドを行いました(バージョンは記事のものとは異なります。ffmpeg-3.2、opencv-3.1.0)。 opencvをcmakeする箇所で下記のようなエラーが発生している状況です。 c++: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions. modules/flann/CMakeFiles/pch_Generate_opencv_test_flann.dir/build.make:62: recipe for target 'modules/flann/test_precomp.hpp.gch/opencv_test_flann_RELEASE.gch' failed make[2]: *** [modules/flann/test_precomp.hpp.gch/opencv_test_flann_RELEASE.gch] Error 4 make[2]: *** Deleting file 'modules/flann/test_precomp.hpp.gch/opencv_test_flann_RELEASE.gch' CMakeFiles/Makefile2:1857: recipe for target 'modules/flann/CMakeFiles/pch_Generate_opencv_test_flann.dir/all' failed make[1]: *** [modules/flann/CMakeFiles/pch_Generate_opencv_test_flann.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 33%] Built target pch_Generate_opencv_flann [ 33%] Built target pch_Generate_opencv_test_imgproc [ 33%] Built target pch_Generate_opencv_highgui [ 33%] Built target pch_Generate_opencv_perf_imgproc Makefile:160: recipe for target 'all' failed make: *** [all] Error 2 おそらくflannという機能をビルドするためのファイルが足りないようです。エラーで指摘されているファイルはありませんでした。 該当のflannのファイルを手に入れる方法がわからない状況となっています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問