ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【TinkerBoard/OpenCV】TinkerBoardにOpenCVの環境を構築する

www.asus.com

 最近TinkerBoardと呼ばれるRaspberry Piのより強い版みたいなボードPCを触る機会がありました。

 環境構築は毎回つまづくことが多いので、まっさらな状態からOpenCVをインストールするまでにやったことの備忘録です。

 では始めます。


1:TinkerBoardのOSをダウンロードしてSDカードに書き込む
 Raspberry Piと同じようにSDカードにOSを書き込みます。
 以下のページから対象のOSを選択してダウンロードし、SDカードに書き込みます。

 ※以降OSのバージョンは「v2.0.4」という前提で進めます。


2:Wifiへの接続
 OSの書き込みが終了したら本体にSDカードをセットし、TinkerBoardを起動します。起動したら以下のページ様にあるように、右下のアイコンからWifiに接続します。

 ブラウザ等を起動させてインターネットに接続していることを確認します。


3:各種パッケージの最新化
 インターネットに接続したことを確認したら、以下のコマンドを実行して各種パッケージを最新化します。

$ sudo apt-get update && sudo apt-get -y upgrade


4:python3のpipをインストール
 パッケージの最新化ができたら、以下のコマンドを実行してpython3のpipをインストールします。

$ sudo apt-get install python3-pip


5:pipでOpenCVをインストールできるようpip.confファイルを作成する
 そのままだとpipでOpenCVをインストールできないので、pip.confを作成します。

 以下の2つのコマンドを実行してpip.confファイルを新規作成します。

$ cd /etc
$ sudo leafpad pip.conf

 実行するとテキストエディタが開くので、以下の内容を記述して保存します。

・pip.conf

[global]
extra-index-url=https://www.piwheels.hostedpi.com/simple


6:OpenCVをインストールする
 pip.confファイルを保存できたら、以下のコマンドを実行してOpenCVをインストールします。

$ pip3 install opencv-python

 このコマンドを実行すると何度かエラーが出る場合がありますが、何度かリトライするとエラーなくインストールが完了します。


7:python3でimport cv2を実行してOpenCVが使えるかを確認する
 以下のコマンドでpython3を起動させ、import cv2を実行してエラーがでなければOpenCVが使えるようになっています。

$ python3
$ >>import cv2


8:import cv2でエラーが出た場合の対処方法
 import cv2を実行した時に色々とエラーが出る場合があります。基本的にはライブラリが不足していたりなどが原因なので、エラーから必要なライブラリを読み取ってインストールしていけばよいです。

 以下、自分の場合に出たエラーとインストールコマンドを列挙しておきます。

・numpy

$ pip3 install numpy

・libatlas

$ sudo apt-get install libatlas-base-dev

・libjasper

$ wget http://ftp.debian.org/debian/pool/main/j/jasper/libjasper-dev_1.900.1-debian1-2.4+deb8u3_armhf.deb
$ wget http://ftp.debian.org/debian/pool/main/j/jasper/libjasper1_1.900.1-debian1-2.4+deb8u3_armhf.deb
$ sudo apt-get install ./libjasper*.deb

・QT関連

$ sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig libqt4-test


 以上がTinkerBoardでOpenCVの環境を構築するまでの手順です。

 OSのバージョンの違いだったり、ちょっとした環境の違いだったりでこの手順通りには行かない場合もあるので、参考程度にしていただければと思います。
 またTinkerOSはDebian系なのでRaspberry Piでも同様の方法でOpenCVの環境が構築できるかとは思います(未検証)。

 環境構築は一度やれば終わりで結構忘れてしまうので、できる限りメモしていきたいです…。


・参考資料