2016/12/11
前回まで、Raspberry Pi 2 Model Bを用いて「赤外線カメラPi NoIR
Camera V2」で遊んできました。
OpenCV 3.1をインストールし、「
raspicam」というライブラリを用いることで、Raspberry Pi専用カメラでも
OpenCVが利用できました。
Pi 2 Model Bの環境ができたのですが、せっかくなので、Pi Zeroの環境も整えておこうと思いました。思ったのは良いのですが、これがまた難儀しました。試行錯誤でいろいろしていたら、
OpenCV自身が動かなくなり、結局SDカードフォーマット(Raspberry Pi再セットアップ)からやり直す羽目になりました。その備忘録です。
使っているPi ZeroのOS(Debian 8.0)には
OpenCVの2.4.9.1のパッケージが入っていますが、ラベリング処理関数等が標準に入っている最新のバージョン3.1をインストールしたいものですね。そういうわけで、インストール開始です。一連の流れは
このサイトを参考にしました。ありがとうございました。
1.
OpenCV 3.1をダウンロード
wget https://github.com/Itseez/opencv/archive/3.1.0.zip
/home/piフォルダに3.1.0.zipがダウンロードされます。
2. 解凍
unzip 3.1.0.zip
/home/piフォルダの下に「opencv-3.1.0」が作成されます。
3. システムアップデート
sudo apt-get update
sudo apt-get upgrade
4. CMakeのインストール
sudo apt-get install build-essential cmake cmake-qt-gui
5. その他ライブラリ類インストール
sudo apt-get install libgtk2.0-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev python-dev python-numpy python-tk libeigen3-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev
6. ビルド用フォルダ作成と移動
cd opencv-3.1.0/
mkdir build
cd build
7. CMake~make実行
Pi Zero本体(tightvncserverでつないだX-window上)のターミナルから
cmake-gui
を実行し、
Where is the source code : /home/pi/opencv-3.1.0
Where to build the binaries : /home/pi/opencv-3.1.0/build
を設定しました。
その後、CMakeのパラメータを設定してMakefileを作成し、makeコマンド実行させるのですが、何度もmakeエラーでやり直す羽目に・・。難儀しました・・。最終的に、うまく行ったCMakeのパラメータ(一例)は以下の通りです。
基本的な設定はデフォルトですが、make時間短縮のため、以下の部分を変更しました。
4 BUILD_EXAMPLES OFF
102 WITH_CUDA OFF
105 WITH_FFMPEG OFF
また、ENABLE_NEONとENABLE_VFPV3については両方OFF設定にしました。
60 ENABLE_NEON OFF
66 ENABLE_VFPV3 OFF
このパラメータは、Raspberry Pi 2 Model BではONにしていたので、Pi Zeroでも初めはONでmakeしていました。すると、何度やってもエラーが発生・・。ネットで原因を探していた所、
このフォーラムに記事があり参考にしました。
Pi Zeroはハードスペック面(SoCとCPU)でPi 2 Model Bと異なり、Pi 1仕様なので、パラメータもPi 1と同じにしなくてはならないと思いました。この予想はビンゴで、エラーは発生しませんでした。また、makeコマンドもPi 2 Model Bではquad-coreで「-j4」オプションを付けていましたが、Pi Zeroはsingle-coreなので、オプションなしで実行しました。長~い、待ち時間に辛抱強く耐え、ようやく7時間15分後に無事にmakeが終了しました。
8. インストール
sudo make install
これは、make時間に比べるとあっという間に完了しました。
無事に
OpenCV 3.1がインストールされたことを、pythonのコマンド操作で簡単に確認してみました。
確かに3.1です。
OpenCVが無事にPi Zeroにインストールできたので、今度は「raspicam」のインストールです。この方法は、
前回のブログのままでうまく行きました。
サンプルプログラムも問題なく動作しました。苦労しましたが、Pi Zeroの方もOpenCV 3.1の環境が整いました。