前回は「RaspberryPiのOS(Raspbian)をインストール」を行いましたが、今回は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)を参照ください。
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()
エラーにならなければ、これで完了です。
コメント
コメント一覧 (2件)
こちらのサイトを参考にして、Raspi4にOpenCVを導入することができました。
ありがとうございます。
ひらまつさま
コメントありがとうございます。お役に立てて良かったです~!!