1. PonDad

    No comment

    PonDad
Changes in body
Source | HTML | Preview
@@ -1,88 +1,88 @@
MacにデュアルブートしたUbuntu16.04にOpenCV3.1をインストールした際の覚書です。
## 環境
- Ubuntu16.04
- Python 3.5.2
UbuntuはiMacにデュアルブートしたものです。Python3系は`pyenv`を使わずに`sudo apt-get install python3-pip python3-dev`でインストールしました。
## ffmpegをOpenCVで使うには
OpenCVのインストールは`anaconda`を使うと楽に出来ると思ったのですが、動画ファイル(`mp4`や`avi`など)の読み込みに対応していません。
どうも展開する際、自分でビルドしなければならない様です。参考になったリンクを貼っておきます。
-[OpenCV 3.1 Installation Guide on Ubuntu 16.04 - GitHub](https://github.com/BVLC/caffe/wiki/OpenCV-3.1-Installation-Guide-on-Ubuntu-16.04)
+[OpenCV 3.1 Installation Guide on Ubuntu 16.04 - GitHub](https://github.com/intel/caffe/wiki/Ubuntu-16.04-or-15.10-OpenCV-3.1-Installation-Guide)
こちらをそのまま利用できました。
```bash
$ sudo apt-get install --assume-yes build-essential cmake git
$ sudo apt-get install --assume-yes build-essential pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy
$ sudo apt-get install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
$ sudo apt-get install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
$ sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
$ sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils
```
公式のレポジトリからダウンロードしたものはCUDAのサポートもされている様です。
```bash
$ git clone https://github.com/opencv/opencv.git
$ cd opencv
```
ダウンロード後、以下の指定をしてビルドします。
```bash
$ 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 -D
WITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..
$ make -j $(($(nproc) + 1))
```
展開してインストールします。
```bash
$ sudo make install
$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
$ sudo apt-get update
```
ビルドは1時間半位は見ておいたほうがいいですね。
## 動画の読み込み
これで動画が読み込めるようになりました。[公式ドキュメンテーション](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_video_display/py_video_display.html)のサンプルコードを試してみます。
```python
import numpy as np
import cv2
cap = cv2.VideoCapture('street.mp4')
while(cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
[フリーストック動画サイト](https://videos.pexels.com/)よりダウンロードした画像を白黒で表示してみます。
![Screenshot from 2017-02-12 19-17-28.png](https://qiita-image-store.s3.amazonaws.com/0/47128/ea86ed2f-c40e-bc7f-e40f-e54773e76c2b.png)
上手く行きました。