Featured image of post RaspberryPiにOpenCVをインストール

RaspberryPiにOpenCVをインストール

https://www.raspberrypi.org/

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

RaspberryPiにOpenCVをインストール

RaspberryPiにOpenCVをインストール

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)を参照ください。

1
sudo raspi-config

「Advanced Options」を選択します。

「Expand filesystem」を選択します。

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

1
sudo reboot

結果を確認します。

1
df -h

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

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

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

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

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

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

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

1
2
3
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開発ライブラリをインストール

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

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

1
sudo apt-get install libatlas-base-dev gfortran

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

1
sudo apt-get install python3-dev

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

1
2
3
4
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をインストール

1
2
3
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo python3 -m pip install --upgrade pip

virtualenv virtualenvwrapperをインストール

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

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

1
sudo apt-get install vim

~/.profileをVimで開く

1
vim ~/.profile

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

1
2
3
4
5
6
# 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作成

1
2
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にパッケージインストール

仮想環境に移行する

1
workon XXX

NumPyをインストール

1
pip install numpy

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

1
sudo pip install opencv-contrib-python==4.1.0.25

現時点では最新バージョンではきちんと動かないという情報があったので、バージョンを指定してインストールします。

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

1
2
3
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の調べ方は

1
2
3
4
5
python
>>> import site
>>> site.getsitepackages()
>>> import sys
>>> sys.exit()

④cv2が使えるか確認

1
2
3
4
5
python
>>> import cv2
>>> cv2.__version__
>>> import sys
>>> sys.exit()

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

Licensed under CC BY-NC-SA 4.0
Hugo で構築されています。
テーマ StackJimmy によって設計されています。