ラズベリーパイのカメラモジュール+OpenCVでストリーミング処理+画像認識がしたく、 OpenCV3.1.0をインストールしたのですが、色々と詰まったところがあったので、備忘録も兼ねてまとめてみました。 画像認識の部分は次回の記事でまとめます。

参考にしたサイト

Install guide: Raspberry Pi 3 + Raspbian Jessie + OpenCV 3

こちらのサイトが分かりやすくてよかった。調べてみると、大体の人はこちらを参考にしていましたね。

opencvインストール手順

最新の状態にする

$ sudo apt-get update
$ sudo apt-get upgrade

必要なパッケージのインストール

$ sudo apt-get install libopencv-dev
$ sudo apt-get install python-opencv
$ sudo apt-get install build-essential cmake pkg-config
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install libatlas-base-dev gfortran
$ sudo apt-get install python2.7-dev python3-dev

opencvライブラリをダウンロード

$ cd ~
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
$ unzip opencv.zip
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
$ unzip opencv_contrib.zip

virtualenvのセットアップ

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/.cache/pip
$ export WORKON_HOME=$HOME/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
$ source ~/.profile
$ mkvirtualenv cv -p python2
$ workon cv

opencvのインストール

(cv) $ pip install numpy
(cv) $ cd ~/opencv-3.1.0/
(cv) $ mkdir build
(cv) $ cd build
(cv) $ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
-D BUILD_EXAMPLES=ON ..
(cv) $ make -j4
(cv) $ sudo make install
(cv) $ sudo ldconfig

動作確認

$ source ~/.profile
$ workon cv
$ python
> import cv2
> cv2.__version__
'3.1.0'

インストールに上手く行かなかった場合に対応したこと

過去にopencv2をインストールしていたこともあり、上記手順でやっても上手く行かなかった。

色々調べて、失敗した原因と対策をいかにまとめます。

opencv2をインストールしていた場合は、関連ファイル・ライブラリを削除

sudo apt-get autoremove opencv-doc opencv-data libopencv-dev libopencv2.4-java libopencv2.4-jni python-opencv libopencv-core2.4 libopencv-gpu2.4 libopencv-ts2.4 libopencv-photo2.4 libopencv-contrib2.4 libopencv-imgproc2.4 libopencv-superres2.4 libopencv-stitching2.4 libopencv-ocl2.4 libopencv-legacy2.4 libopencv-ml2.4 libopencv-video2.4 libopencv-videostab2.4 libopencv-objdetect2.4 libopencv-calib3d2.4

apt-getに保留があったので解決しておく

apt-get dist-upgrade

無事opencv3をインストールすることができました。