Raspberry Pi で OpenCV を使う環境を整える

More than 1 year has passed since last update.

「Raspberry Pi + Picamera でIoT体験を isaax でやってみよう」

https://qiita.com/xshell/items/e6199c101d1fa497be94

では、OpenCVを使った動体検知とmotionJPGでWebストリーミングを組み合わせて遊びました。

これをテキストにして、過去2回XSHELLにてワークショップを行いました。

これらのワークショップでは既にインストールしたSDカードを配布させていただきました。参加者はアプリだけ書いて実行すれば遊べるようにしました。では、自分で同じことをするにはどうしたらいいでしょう?

今回、ワークショップで使用したSDカードと同じものを作成する方法を説明します。


microSDカードにRaspbianを書き込む


  1. こちらから、Raspbianのイメージをダウンロードします。
    https://www.raspberrypi.org/downloads/raspbian/
    「RASPBIAN STRETCH LITE」Release date:2017-11-29 のものを使いました。

  2. ダウンロードできたらZIPファイルを解凍します。

  3. SDカードをPCに刺します。PC本体付属のSDカードリーダでも外付けのSDカードリーダでもOK。

  4. 書き込みソフトを使ってイメージを書き込みます。書き込みソフトの詳細、操作については各自検索してみてください。


初期設定


ネットワーク関連の設定


sshを利用可能にする

書き込んだSDカードの boot パーティションに「ssh」という名前の空ファイルを作っておきます。


無線LANを利用可能にする

必要に応じて、無線LANの設定をします。

書き込んだSDカードの boot パーティションに「wpa_supplicant.conf」という名前のファイルを作り、中にESSIDなどを記述しておきます。

詳しくは「Raspberry Pi 無線LAN」でWebで検索してみてください。


ログインとはじめの設定

RaspberryPiを起動してログインします。

必要に応じて、


sudo raspi-config

を行うのがいいでしょう。

キーボード、マウス、ディスプレイを使ってログインしたときにはキーボードの設定を行っておかないと使いづらいでしょう。同時に、ロケールの設定、タイムゾーンの設定も行っておきます。

sshを使ってログインするときはキーボードの設定は必要ないので、ロケールやタイムゾーンを気にしなければ必ずしもsudo raspi-configは必要ありません。

sshを使ってログインするときにはRaspberyPiのIPアドレスを調べる必要があります。そのやりかたはこちら

「同じLAN内に接続したRaspberry PiのIPアドレスを調べる」

https://qiita.com/xshell/items/af4e2ef8d804cd29e38e

RaspberryPiを無線LANでネットワークに接続する場合は起動する前にアクセスポイントの設定をしておく必要があります。


カメラを使用可能にする


sudo raspi-config

として、「5 Interfacing Options」を選びカメラをEnableにしrebootします。


パッケージをインストールする

今回の主な環境は OpenCV2.4 + Python2.7 で構築しました。


opencv および pythonに必要なライブラリをインストールします。

今回はopencvはパッケージをつかってさくっと。


sudo apt update
sudo apt install python-dev python-opencv libopencv-dev


pipをインストールし、pipから必要なライブラリをインストールします。


wget https://bootstrap.pypa.io/get-pip.py

sudo python get-pip.py

sudo pip install --upgrade pip
sudo pip install imutils picamera[array] Flask