マツド・サイエンス研究所

Raspberry Pi Zero W / OpenCV 3.x ArUcoも使える

連投失礼

Raspberry Pi Zero W に最新の OpenCV 3.x をインストールした

Raspbian の標準パッケージの OpenCVは、旧バージョンのOpenCV 2.x であり、ARコードを認識する ArUcoも使えない

そこで、最新の OpenCV 3.x をインストールし、ArUcoも使えようにした

現状、最新の OpenCV 3.x のバイナリはないので、ソースコードから構築するしかない

Core i7 なら、5分もあれば make が終わるのに、Raspberry Pi Zero W だと14時間以上もかかってしまった

しかし、14時間かかっても構築可能だということが判ったので、報告する

構築には、最低限 16GB の microSD にデスクトップ版 Raspbian を入れたものを用いる

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y build-essential cmake pkg-config
$ sudo apt-get install -y libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install -y libxvidcore-dev libx264-dev
$ sudo apt-get install -y libgtk2.0-dev
$ sudo apt-get install -y libatlas-base-dev gfortran
$ sudo apt-get install -y python2.7-dev python3-dev
$ sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ mkdir opencv
$ cd opencv/
$ git clone https://github.com/opencv/opencv.git
$ git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv
$ mkdir build
$ cd build/
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv/opencv_contrib/modules -D WITH_GSTREAMER=ON -D BUILD_EXAMPLES=ON ..
$ nohup make &
<< 上記のようにしておけば、ssh などでコマンドしておいても、途中でログオフできる >> << 私の環境では、14時間18分もかかった >> $ sudo make install
$ sudo ldconfig

プログラムは、python なので、インデントが表示できないブログでは、表示できないので、下記からダウンロードしてもらいたい

「camera.tgz」をダウンロード

解凍すると 「camerapi.py」と「camerausb.py」になる

ラズバイ専用カメラなら

$ python camerapi.py

USBカメラなら

$ python camerausb.py

である。ブログ冒頭の画像は、カメラでARコードを読み取り認識したところのスクリーンショットである

なお、OpenCVは、Python2 でも Python3 でも使える

追記 2017.08.28 先日の記事で、「python3 では使えない」と書いていたが、その後の調査で、Python3 でも使えることが判ったので、当該箇所を削除した

注意

ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。

その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。