ラズパイへのOpenCVのインストールですが結構つまづきやすいポイントです。
PythonでOpenCVを使うための方法は2つ。
- ソースをダウンロードしてビルドする
- コンパイル済みのものをpipでインストールする
2の方が圧倒的に楽です。
ラズパイの本を読んでいると、Githubからソースコードを落としてきてビルドする方法が紹介されていたりしますが、難しいですし時間がかかります。
この記事では、OpenCVをpipでインストールする方法をご紹介します。
- Raspberry Pi 3 model B+
- Kuman カメラモジュール Raspberry Pi用
目次
はじめに
OpenCVのインストール方法ですが、以下のサイトがまとまっていて良いです。
https://www.pyimagesearch.com/2018/09/19/pip-install-opencv/
要約すると、
- 昔はソースコードからOpenCVをビルドするのが普通だった
- 最近になってpip(PyPi/PiWheels)でインストールすることができるようになった
- PyPi/PiWheelsのOpenCVは特許化されているもの(SIFT,SURF…)は含まれていない
opencv-python
とopencv-contrib-python
があるが、後者の方が色々含まれているから後者をインストールしよう- システムに直接入れるのではなく、仮想環境を作ってから入れよう
ちなみに、OpenCVはPywheelsという以下のサイトにwheelsというコンパイルされたバイナリの形で提供されている。
https://pypi.org/project/opencv-contrib-python/
pipはデフォルトでこのサイトを探してくれるので、難しい設定をしなくてもすぐにOpenCVが使えるってわけだ。
では具体的な手順を見ていく。
設定方法
ラズパイ用のパッケージのインストール
sudo apt-get install libhdf5-dev libhdf5-serial-dev sudo apt-get install libqtwebkit4 libqt4-test
記事で紹介されているのは上のパッケージだけだが、私のラズパイでは以下のパッケージも入れる必要があった。
sudo apt-get install libatlas-base-dev sudo apt-get install libjasper-dev
pipを入れる
wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.py
仮想環境を作る
virtualenvとvirtualenvwrapperをインストールする。virtualenvwrapperをインストールすると仮想環境の管理や切り替えが楽になるらしい。
sudo pip install virtualenv virtualenvwrapper
パスを通すために、.profileに以下を追加。
nano ~/.profile # virtualenv and virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh
有効にする。
source .profile
cvという名前(名前は何でも良い)の仮想環境を作成し、workonで仮想環境をアクティベートする。
mkvirtualenv cv -p python3 workon cv
opencvのインストール。(これだけ)
pip install opencv-contrib-python
正しくインストールできたか確認。
(cv) pi@raspberrypi:~/tmp $ python Python 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '3.4.4'
これで好きなように画像処理のコードがかける!やったね。
おわり。