plant-raspberrypi3のブログ

ラズベリーパイ3とPythonに挑戦して、植物を愛でたり画像を加工したりします。最近はscikit-imageの勉強してます。

Raspberry Pi 4&Raspbian BusterでOpenCV-Pythonをインストール

Raspberry Pi 4の4GBモデルがとうとう日本でも発売開始になりましたね!

jp.rs-online.com

www.switch-science.com

これまでのモデルとの違いなどはいろんなところで比較されているので、割愛します。

Macを使ったOSのインストール方法は以下のページを参考にしました。

qiita.com

このブログでは、Raspbian Busterを入れたRaspberry Pi 4でのOpenCV-Pythonのインストール方法をメモしていきます。

参考にしたのは以下のページ。

www.pyimagesearch.com

こちらのページではOpenCV-Python 4のインストール方法が紹介されていますが、今回は諸事情でversion 3をインストールしました。手順は全く同じです。

1. 依存パッケージのインストール

LXTerminalで下記のコードを順次実行。

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
sudo apt-get install libavcodec-dev libvformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libfontconfig1-dev libcairo2-dev
sudo apt-get install libgdk-pixbuf2.0-dev libpango1.0-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
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 python3-dev

実際の作業では、上記を1つの.shファイルにして一括で実行しました。時々yes/no?と聞かれるので、その都度、yを押します。

2. pipとvirtualenvのインストール

次に、pipとvirtualenvをインストールしていきますが、楽するために、作業に入る前にパスの設定ファイルを準備しておきました。

nano opencvInstallpath
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

次に、以下を順次実行。

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py
sudo rm -rf ~/.cache/pip
sudo pip install virtualenv virtualenvwrapper
cat opencvInstallpath >> ~/.bashrc
pip install "picamera[array]" #if you use picamera

最後の行は、picameraを使うときだけ必要。

終わったら、

source ~/.bashrc

でパスを有効にします。

次に、virtualenv環境を構築します。

mkvirtualenv cv -p python3

cv環境が作られ、その中に移動します。

(cv) pi@raspberrypi:~ $

cv環境から抜けるには

deactivate

を実行します。

3. OpenCV-Pythonのインストール

cv環境中で、opencv-pythonをインストールします。

pip install opencv-contrib-python==3.4.4.19

これでうまくいきました。

ちなみに、いくつかのバージョンはエラーが出てしまってインストールできませんでした。(今回は試したのは3.3.0.10と3.4.7.28)

$ pip install opencv-contrib-python==3.4.7.28
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting opencv-contrib-python==3.4.7.28
  Downloading https://www.piwheels.org/simple/opencv-contrib-python/opencv_contrib_python-3.4.7.28-cp37-cp37m-linux_armv7l.whl (15.3MB)
     |████████████▎                   | 5.9MB 42kB/s eta 0:03:43
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.

このあたり、詳しい情報をお持ちの方がいらっしゃいましたら、コメントいただけると嬉しいです。

最後に、opencv-pythonが正しくインストールされたか確認します。

$ python3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> 

エラーが出なければOKです。

以上です。

[2021/4/15追記] virtualenv環境をアクチベートするには

$ workon [env-name]

とします。