ubuntu14.04 + python3 でopencvをいれて動画をいじろうとしたら苦戦した話
アドベントカレンダー15日目です。
今日はopencvをインストールしようとして苦戦した話を書いていきます。
成功するまでにやったこと
pip install opencv-python
で普通にインストール- opencv-3.0.0 をビルド
- ffmpegを入れてもう一度ビルド
- Contribを入れてビルド
- Git checkoutでバージョン指定してビルド
conda install -c https://conda.anaconda.org/menpo opencv3
でインストールpip install opencv-contrib-python
でインストールconda install opencv
でインストール
最後の一つで成功しました。 ffmpegとかは多分必要な部分だと思います。
手こずった理由
今回は深層学習でのスタイル転移で、動画を入力して変換するという作業を行う過程でopencvを使います。opencv自体はpipですぐはいるのですが、なぜか動画が読み込めない・・・。読み込めているかどうかは以下のコードで確認しました。
import cv2 filename = "mp4_h264_aac.mp4" cap = cv2.VideoCapture(filename) print(cap.read())
うまくいっていない場合には以下のような出力です。
>>> (False, None)
うまくいっている際には数値が出力されるはずです。
成功したインストール方法
自分はpyenvでanaconda3-4.1.0を使用しています。なので、condaでインストールが可能となります。
github.com
こちらのREADME曰く、conda install opencv
でインストールできるとのことです。
インストールした後、先程のコードを実行し直してみます。
(True, array([[[ 93, 27, 1], [ 92, 26, 0], [ 91, 25, 0], ..., [112, 45, 0], [112, 45, 0], [112, 45, 0]],
Trueが返ってきていて、値も入っています。これで動画の処理ができます。
まとめ
ビルドをしなくて済む方法をまず探るべき。