Raspberry Pi 3にOpenCVをインストールする

スポンサーリンク

初めに

ラズパイ3でカメラを使って顔認証するためにpythonのOpenCVをインストールします。

苦戦したためラズビアンを再インストールしました。。

正確に言うと過去のバックアップを引っ張りだしてきてからOpenCVをインストールしてます。

python3.5.3にOpenCV3.1.0をインストールしてます。

参考サイト

こちらのサイト様を参考にしました。

①英語だけど一番参考になるサイト

②上の日本語訳サイト。ただ誤字があるので注意。。

③同じく日本語訳サイト。動作確認で使わせていただきました。

④2018/08/22追記 各コマンドを詳しく解説してくださっているサイト

インストール手順(2018/08/22追記)

久々に手順試したらうまくいかなかったので追記しました。

一応以前の手順もこの後にのせています。

インストール手順といっても上記サイトのまんまですので参考程度に私が打ち込んだコマンドを載せておきます。②を参考して進めて、エラーで弾かれる箇所を①、③で確認して進めました。私はpython3側でenvnameをcv-python3としています。

ちなみに①サイトにある「File System Expansion」は実施してもサイズが変わりませんでした。。32GBのmicroSDを使用してます。

インストール手順(更新前)

動作確認:cv2のversion確認

無事OpenCVがインストールされているかは以下の通りに確認。

・・・ここまで長かった;つД`)

注意事項(2018/08/22追記)

コメントでトミケラトプス様からご指摘いただいたのですが、「sudo find / -name cv2.*」で出てくるパッケージの場所がsite-packagesではなくdist-packagesになることがあるようです。私も再度手順を確認したところ、dist-packagesで作成されました。環境によって変わるようです。

追記した新たなインストール手順ではdist-packagesとなったところは編集しましたが、site-packagesになった場合は適宜読み替えてください。。

インストールではまったところ(2018/08/22追記)

この手順を投稿した当時は間違いなくこの手順で出来ていたのですが、コメントいただいたことで再度この手順でインストールしたところ、かなりハマったので追記しておきます。

sudo apt-get update、sudo apt-get upgrade複数回実施

1回ずつだと失敗したので複数回交互に実施しました。更新がなくなるまで繰り返しました。

/usr/bin/python: No module named virtualenvwrapper

workon cv-python3を入力時にこんなエラーが。。

/usr/bin/python: No module named virtualenvwrapper

/usr/bin/python: No module named virtualenvwrapper

こちらを参考にvim ~/.bashrcで書く内容を追加。

書いた後にsource ~/.bashrcを実行したら以降はでなくなりました。

/usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-arm-linux-gnueabihf.soが出来ない

こちらを参考にcmakeのオプションを変更しました。

ImportError: numpy.core.multiarray failed to import

>>> import cv2でこんなエラーが。。
ImportError: numpy.core.multiarray failed to import

こちらを参考にnumpyをupgradeして解決。

pip install numpy --upgrade

動作確認:写真が撮れるか確認する

以前の投稿と同じようにラズパイからカメラモジュールが使える確認します。

ここで問題が、、import picameraがエラーがでます。。

ということでこちらの2.4 Virtualenv installationの通りに

Virtualenvにworkon cv-python3で入ったあとに以下コマンドを実行します。

(cv-python3) $ easy_install picamera

再度写真を撮ると今度は無事撮影できました。

動作確認:顔認証を試す

こちらを使わせていただきました。

SSHではダメだったのでVNCで動かしました。

私の顔で動作確認したところ無事人間の顔として識別されました。

よかったよかった。

最後に

こんな感じでラズパイにOpenCVをインストールできます。

インストール出来さえすれば顔認証が簡単にできます。

顔認証とか私の中では最先端技術なんですが、簡単に出来るものですね。。

いやここまで開発した人が凄すぎるんですけどね。

少しづつ勉強していきます。。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. トミケラトプス より:

    49行目と51行目のsite-packagesですがおそらくdist-packagesではないでしょうか?
    間違っていたら申し訳ありませんが確認の程よろしくお願いいたします。

    • hakengineer より:

      返信遅くなり申し訳ありません。
      コメントありがとうございます!

      ご指摘いただいた内容ですが、どうも環境によって変わるようです。
      site-packagesかdist-packagesのどちらかになるようです。
      参考サイト①の「Step #6: Finish installing OpenCV on your Pi」に記載があります。

      私ももう一度手順を試したところ書いた当時はsite-packagesでしたが、
      今回はdist-packagesになってました・・・
      一応注意事項として追記しておきます。
      ご指摘ありがとうございました。

      • トミケラトプス より:

        検証ありがとうございます。
        こちらもマニュアルを工面しておきます。

        とても参考になりましたありがとうございます。

  2. みっちゃん より:

    22行目のvim~31行目#ここまでのところのやり方がよく分かりません。詳しく教えていただけると助かります。

    • hakengineer より:

      コメントありがとうございます!
      例としてユーザ名one3として簡単に解説を書いてみます。vimの操作についてググったほうが早いと思うので割愛させていただきます。
      22行目の「vim ~/.bashrc」で/home/one3/.bashrcファイルを作成し編集します。
      vimでファイル編集するモードになったら24行目の「# virtualenv and virtualenvwrapper」から30行目の「source /usr/local/bin/virtualenvwrapper.sh」をそのままコピペします。
      31行目は無視していただいてだいじょうぶです。
      その後vimから抜けて32行目からのコマンドを続けます。

      • みっちゃん より:

        ありがとうございます。vimの操作はググれば出てきますが、ファイルの作成方法などが分からなかったので教えていただいてありがとうございます。