見出し画像

[39歳 / 普通科高校卒]ラズパイにOpenCVをインストールしてみた

どうも~、IoT探検家のシンクンです。

今日はラズパイへのOpenCVのインストールにチャレンジしてみました〜。

用意したもの

・ラズパイ本体(Raspberry Pi 4)
・モニター
・キーボードとマウス
・microSDカード
・HDMIケーブル(microHDMI→HDMI)
・USB-C接続の電源アダプター

全体の流れ

1)microSDカードの中のRaspbianのファイルシステムの拡張
2)OpenCVと依存関係のあるソフトのインストール
3)Pythonの仮想環境を作る
4)OpenCVをインストール

OpenCVをインストールするにあたり、準備としてラズパイの初期設定が必要です。まだの人は「ラズパイの初期設定」の記事や動画を参考にしてみてください^_^

OpenCVとは世界的に有名なAIの画像認識ライブラリーで、顔認識や物体検出の学習済みモデルを無料で使うことができます。

スクリーンショット 2021-05-15 7.45.57

OpenCV:Open Source Computer Vision Libraryの略。インテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ。

参考にしたサイト

今回、ラズパイにOpenCVをインストールにあたり、PyImageSearch(パイイメージサーチ)というサイトの記事(Install OpenCV 4 on Raspberry Pi 4 and Raspbian Buster)を参考にしました。

それではOpenCVのインストールをやっていきましょう〜
(インストールのやり方はキーボードとマウスとモニターを利用してインストールする方法とパソコンからSSH(SSH:「Secure Shell」の略で、ネットワークに接続された機器を遠隔操作し、管理するための手段)で接続してインストールする方法がありますが、今回はキーボードとマウスとモニターを利用してインストールする方法でやっていきます。)

1)microSDカードの中のRaspbianのファイルシステムの拡張

まずはOpenCVをインストールできるように、microSDカードの中のRaspbianのファイルシステムの拡張します。

ラズパイで「LXTerminal」というコンピュータに対して命令を送るための画面を立ち上げて、コマンドを入力。

sudo raspi-config

このコマンドでRaspbianの環境設定ができます。

表示された画面で、6 Advanced OptionsA1 Expand filesystem と選択してfinishをクリックすることで、ファイルシステムの拡張ができました。そして画面の指示に従って再起動。

画像3

画像4
画像4
df -h

念の為、このコマンドで拡張されたファイルシステムの中身が確認してみましょう。

画像5

2)OpenCVと依存関係のあるソフトのインストール

続いてOpenCVと依存関係のあるソフトをインストールしていきます。

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

まずはこのコマンドで既にラズパイにインストールされているソフトを最新に更新。

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

次にこのコマンドで、CMakeというビルド自動化のためのソフトなどの、OpenCVのビルドを簡単にしてくれる開発ツールをインストールしていきます。

以下、OpenCVと依存関係のあるソフトのインストールが続きます。面倒ですがコマンドを1つずつ入力していきます。

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev

JPEGやPNGなどの静止画像を扱うためのI/Oパッケージをインストールしています。(I/O:Input/Outputの略で「入出力」を意味しています。)

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

この2つのコマンドで動画を扱うI/Oパッケージをインストールしています。

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

この3つのコマンドで画像や動画などのイメージをスクリーンに表示するGUI(Graphical User Interface(グラフィカル・ユーザ・インターフェイス))が使えるようにするためにGTK開発ライブラリーをインストールしています。(GTK:GUI Tool Kitの略)

sudo apt-get install libatlas-base-dev gfortran

OpenCV内での演算処理を最適化するためのライブラリーをインストールしています。

sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5

この2つのコマンドはHDF5形式のデータへの対応とGUIのクロスプラットフォームのフレームワークをインストールするためのものです。(HDF:Hierarchical Data Formatの略。階層的データ形式を意味する)

sudo apt-get install python3-dev

このコマンドによって、C++という言語で実装されているOpenCVをPythonで扱えるようになります。

ここまででOpenCVと依存関係のあるソフトのインストールが完了しました。ふ〜、長かった〜。

3)Pythonの仮想環境を作る

ここからはPythonの仮想環境を作っていきます。

仮想環境とは
Python を使って開発や実験を行うときは、用途に応じて専用の実行環境を作成し、切り替えて使用するのが一般的です。こういった、一時的に作成する実行環境を、「仮想環境」 と言います。

仮想環境を利用する理由
・システム全体で使うPython環境に影響を与えずにモジュールの追加・入れ替えをしたい。
・異なるバージョンの Python を使いわけたり、同じモジュールの、複数のバージョンを使い分けたい。

仮想環境を管理するためにはAnacondaやcondaなどを使う方法もありますが、ここではpipを使ってやっていきます。

pipとは
Pythonで書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システムである。

それではやっていきましょう。

wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo rm -rf ~/.cache/pip

この3行のコマンドでpipそのものをインストールします。

sudo pip install virtualenv virtualenvwrapper

そしてpipを使ってvirtualenvという仮想環境をインストール。

nano ~/.bashrc

次はこれまでとはちょっとやることが違うので注意が必要です。このコマンドで.bashrcという設定ファイルを開きます。そして開かれたファイルの末尾に以下のコマンドを記入していきます。

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
画像6

入力できたらキーボードでenterを押して終了です。

source ~/.bashrc

そしてこのコマンドで変更を加えた.bashrcファイルを読み込み、変更内容を反映させます。

mkvirtualenv cv -p python3

最後のこのコマンドでPythonの仮想環境が作られました~

4)OpenCVをインストール

いよいよOpenCVのインストールです。

pip install opencv-contrib-python==4.1.0.25
画像7

このコマンド1つだけでOpenCVのインストールが完了しました〜。

ここでLXTerminalを使って、実際にラズパイでOpenCVが使えるかテストをしてみましょう。

workon cv
python
>>>  import cv2
>>>  cv2.__version__

workon cvで仮想環境に入ります。
そしてimport cv2でOpenCVのライブラリーをインストールしてcv2.__version__でOpenCVのバージョンが分かり、OpenCVがインストールできていることが確認できました~。

画像8

振り返り

最後に今回のラズパイへのOpenCVのインストールの振り返りです。

振り返り
・OpenCVをインストールする前に、依存関係のあるソフトをインストールしておく必要がある。
・Pythonの仮想環境の中でOpenCVを利用することで、システム全体で使うPython環境に影響を与えずにモジュールの追加・入れ替えできて便利になる。
・今回のOpenCVのインストールにかかった時間は60分でした。(コマンドでインストールするソフトが多くて面倒だった~)

動画で見る

最初から6分過ぎまでがOpenCVのインストールの説明になっています。

この記事が気に入ったらサポートをしてみませんか?