OpenCV RaspberryPi

ラズパイ(Raspberry Pi)へのOpenCVのインストール方法・手順

OpenCVは、Intelで開発された画像処理ライブラリです。

機能が多岐にわたるため、様々な用途で使用することが可能です。

本記事では、OpenCVの概要と、OpenCVをラズパイ(Raspberry Pi)にインストールする方法を紹介します。

この記事で分かること

本記事を読み終わると、下記の内容が分かるようになります。

  • OpenCVの機能概要
  • OpenCVの拡張モジュールOpenCV_contribの機能概要
  • ラズパイへのOpenCVのインストール方法

スポンサーリンク

OpenCVとは

インストール方法を紹介する前に、OpenCVの機能を簡単に紹介します

OpenCVでは、主に下記の機能を使うことができます。

  • フィルター処理
  • 変形処理
  • フィッティング
  • オプティカルフロー検出、オブジェクト追跡
  • 領域分割
  • カメラキャリブレーション
  • 特徴点抽出
  • デプス推定、姿勢推定
  • 物体認識、機械学習
  • コンピテーショナルフォトグラフィ

ITmediaのサイトにわかりやすい解説が載っていたので引用します。

OpenCVの基本機能

引用:ITmedia

標準ライブラリ以外に、

OpenCV_contribという拡張モジュールを使用すると、比較的新しいアルゴリズムや試験的な機能を使うことができます

次項で、OpenCV_contribについて簡単に紹介します。

opencv_contrib

opencv_contribは、比較的最新のアルゴリズム、試験的な機能を使用できる"拡張モジュール群"です。

opencv_contribについても、ITmediaのサイトに詳しい説明が記載されています。

また、opencv公式のチュートリアルも参考になると思います。

例えば、arucoというモジュールでは、

2次元のマークを検出し、画面上の座標を抽出することができます。

arucoのマーク検出

arucoのマーク検出 引用:OpenCV公式チュートリアル

筆者は、ARマーカー検出やステレオマッチングを実装したかったため、opencv_contribをインストールすることにしました。

スポンサーリンク

OpenCVをラズパイ(Raspberry Pi)にインストール

OpenCVがどんなものか簡単に紹介してきました。

ここからは、本題であるラズパイへのインストール方法を説明します

OpenCVのインストール方法には下記2つの方法がありますが、

  1. OpenCVのソースコードからビルド
  2. ビルド済パッケージ(opencv-python)をpipでインストール

2の方が圧倒的に簡単なので、2の方法でインストールします。

また、仮想環境を作り、その仮想環境内にインストールする方法もよく紹介されていますが、筆者は"ラズパイの環境が壊れたらSDを再フォーマットすればいい"、という考え方なので、今回は仮想環境は作っていません。

PCではなかなかそういうわけにはいかないので、仮想環境を作り管理しています。

ちなみに、筆者のラズパイのバージョンは、

Raspberry Pi 4 Model B / 8GB

になります。

OpenCVのインストールは下記手順で進めます。

OpenCVのインストール手順

  • ラズパイのパッケージ更新
  • OpenCVの依存関係にあるライブラリをインストール
  • pipコマンドでOpenCVをインストール

ラズパイのパッケージ更新

まず初めに、インストール可能なパッケージ "一覧" の更新と、インストール済みパッケージの更新を行います。

ターミナルに、下記2つのコマンドを入力します。

$sudo apt-get update
$sudo apt-get upgrade

続いて、pipの更新を行います。

sudo pip install --upgrade pip

OpenCVと依存関係にあるライブラリをインストール

次に、OpenCVと依存関係にあるライブラリをインストールします。

ターミナルに下記のコマンドを入力します。

$ sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-100
$ sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install libjasper-dev

libhdf5-100のインストールがうまくいかない場合は、libhdf5-103も試してみてください。

環境によって変わるようです。

pipコマンドでOpenCVをインストール

pipコマンドで、OpenCVをインストールします。

なお、pipコマンドにはいくつか種類があるので注意してください。

Python 2とPython 3の共存環境では、pipがPython 2、pip3がPython 3へのインストールとなります。

ラズパイはデフォルト状態でPython 2とPython 3がインストールされているので、pipとpip3を間違うと想定していない挙動となる可能性があります。

インストール前に、pythonのバージョンを確認することをオススメします。

ラズパイのpythonのバージョン確認・変更方法については下記の記事で紹介しているので、気になる方は確認してみてください。

ラズパイ(Raspberry Pi)のpythonバージョン確認、python3への変更方法

OpenCVのメインモジュールだけのインストールでよければ、下記のコマンドでインストールします。

$ sudo pip3 --default-timeout=1000 install opencv-python

拡張モジュール群まで含めてインストールしたい場合は、"opencv-pythonをインストール後"、下記コマンドでopencv-contribをインストールします。

なお、その場合は、"opencv-python"と"opencv-contrib-python"のバージョンは揃えるようにしてください。

バージョン指定の方法は、次の項で紹介します。

$ sudo pip3 --default-timeout=1000 install opencv-contrib-python

スポンサーリンク

OpenCVをインストール時にエラーが発生してしまう場合

インストールがうまくいかない場合は、OSのバージョンが古くOpenCVの最新バージョンに対応していない可能性があります。

下記のコマンドを入力し、インストールできるバージョンを確認します。

$ sudo pip3 install opencv-contrib-python==
$ sudo pip3 install opencv-python==

インストールするバージョンが決まったら、バージョン指定コマンドでインストールします。

opencv-contrib-pythonの最新バージョンは4.5.2.52でしたが、筆者の環境ではバージョンを3.4.14.51まで下げることで、インストールできました。

$ sudo pip3 --default-timeout=1000 install opencv-contrib-python==3.4.14.51

これでもうまくインストールできない場合は、下記コマンドで一度アンインストールしてから、再度インストールしてみてください。

$ sudo pip3 uninstall opencv-contrib-python

OpenCVが正しく動作することを確認する

OpenCVが正しくインストールされていることを確認するため、Pythonを起動してOpenCVをインポートしてみます

ターミナルで下記のコマンドを入力して、Pythonを立ち上げます。

$ python3

続いて、OpenCVをインポートします。

>>> import cv2

バージョンを確認します。

>>> cv2.__version__

ここで、バージョンが表示されれば、インストール成功です。

ちなみに、筆者の環境では、下記のエラーが発生しました。

ImportError: numpy.core.multiarray failed to import

これは、numpyのバージョンが古いときに発生するエラーなので、下記のコマンドでnumpyをアップデートします。

$ sudo pip3 install -U numpy

スポンサーリンク

まとめ

OpenCVの機能と、ラズパイへのインストール方法について紹介しました

OpenCVをインストールすると、できることが格段に広がります。

工夫次第で様々なことが実現できますので、ラズパイとOpenCVでいろいろ遊んでみましょう!

スポンサーリンク

-OpenCV, RaspberryPi
-,