RaspberryPiにOpenCVをインストール

https://www.raspberrypi.org/

前回は「RaspberryPiのOS(Raspbian)をインストール」を行いましたが、今回はOpenCVをインストールしていきます。

RaspberryPiのOS(Raspbian)をインストール

2020.04.29

RaspberryPiにOpenCVをインストールするのは、本当に大変な作業です。1日がかりでした。GCPに作成したUbuntu同様にソースからコンパイルしようとしましたが、RaspberryPi3Bのスペックでは厳しい。。3回ほどトライして諦めました。そして、pipを使用してインストール「opencv-contrib-python」でインストールしました。こういう情報はすぐに古くなってしまいますが、誰かの役に立つ事を願って。

前提

RaspberryPi3B
RaspberryPiのOS(Raspbian Buster)インストール済

①ファイルシステムを拡張

NOOBSを使用してRaspbianをインストールした場合、ファイルシステムは自動的に拡張されますが、大きい容量のSDカードにインストールした場合に拡張されない事があります。この場合、「Expand Filesystem」を使用してSDカード全体を使用できるようにする必要があります。Raspberry Piの再起動が必要です。詳細はこちら(https://www.raspberrypi.org/documentation/configuration/raspi-config.md)を参照ください。

sudo raspi-config

「Advanced Options」を選択します。

「Expand filesystem」を選択します。

「Finish」をして、再起動します。

sudo reboot

結果を確認します。

df -h

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

OpenCVのコンパイル前提だったので不要なものも含まれますが、もう(しんどくて)1から出来ないので実行したまま掲載します。ご勘弁を(笑)

パッケージリストの更新とインストールされてるパッケージの更新を行います。

sudo apt-get update && sudo apt-get upgrade

openCVをコンパイル時に必要なパッケージを入れます。(※pipでインストール時不要)

sudo apt-get install build-essential cmake unzip pkg-config

画像とビデオのライブラリをインストール

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

GTK開発ライブラリをインストール

sudo apt-get install libgtk-3-dev
sudo apt-get install libcanberra-gtk*

数値最適化ライブラリをインストール

sudo apt-get install libatlas-base-dev gfortran

Python開発ツールをインストール

sudo apt-get install python3-dev

RaspberryPi必須コンポーネントをインストール

sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
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
sudo python3 -m pip install --upgrade pip

virtualenv virtualenvwrapperをインストール

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip

「~/.profile」を編集したいのでVim(テキストエディタ)をインストール

sudo apt-get install vim

~/.profileをVimで開く

vim ~/.profile

「i」で編集モードに入り、以下を追加

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_ENV_BIN_DIR=bin

:w で保存
:q で終了

以下で設定を適用させて、仮想環境XXX作成

source ~/.profile
mkvirtualenv XXX -p python3
注意
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

だとエラー「ERROR: Environment ‘/home/pi/.virtualenvs/XXX’ does not contain an activate script.」になってしまう。

③仮想環境XXXにパッケージインストール

仮想環境に移行する

workon XXX

NumPyをインストール

pip install numpy

opencv-contrib-pythonをインストール

sudo pip install opencv-contrib-python==4.1.0.25
注意
現時点では最新バージョンではきちんと動かないという情報があったので、バージョンを指定してインストールします。

OpenCVへのシンボリックリンクを生成

cd ~/.virtualenvs/XXX/lib/python3.7/site-packages/
ln -s /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so cv2.so
cd ~

site-packagesの調べ方は

python
>>> import site
>>> site.getsitepackages()
>>> import sys
>>> sys.exit()

④cv2が使えるか確認

python
>>> import cv2
>>> cv2.__version__
>>> import sys
>>> sys.exit()

エラーにならなければ、これで完了です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)