ブログ

Debian buster環境へのOpenCVのインストールについて

at_takuma.fukuda
2021年5月10日 6時07分

※注意事項※
この手順を実行するためにはATDEおよび、at-debian-builderもしくはx1-debian-builderが必要です。
マニュアル等参考の上、事前にご準備ください。
また、ルートファイルシステムのビルドにかなりの時間がかかります。
*執筆者の環境では10時間程度かかりました。
その間特に操作は必要ありませんが、PCへの負荷が高くなるため実施タイミングにお気を付け下さい。

Debian busterのパッケージとしてインストール可能なOpenCVはVer.3.2です。
パッケージ: libopencv-dev (3.2.0+dfsg-6)

2021/5/10時点でOpneCVの最新バージョンは4.5.2です。
Ver.4以降に実装された機能を使用したい場合、GitHubからソースコードをダウンロードしてビルドする必要があります。
GitHub:OpenCV

関連ライブラリのインストールやビルドには手間がかかるため、出来るだけ自動的に実施したいです。

それを実現するスクリプトが下記にありました。
GitHub:imilq/scripts/bash/install-opencv.sh

ただし、このスクリプトをそのままArmadillo上で動作させてもOpenCVのインストールは完了しません(RAMやROMのリソース不足によって失敗してしまいます)

そこで、ATDE上でat-debian-builder(Armadillo-IoT G3/G3Lの場合はx1-debian-builder)を使用して、opencv 4.5.1がインストールされたルートファイルシステムを作成します。

以下、Armadillo-610/640のルートファイルシステムを作成する場合のファイルパスです。
使用するArmadilloシリーズに合わせてそれぞれ読み替えてお試しください。

1.インストールパッケージの設定

at-debian-builderのファイルを編集してください。
/at-debian-builder-v2.0.0/a600_resources/resources/packages

末尾に以下を追加
#opencv
libopencv-dev
python3-opencv

2.スクリプト実行設定

/at-debian-builder-v2.0.0/a600_resources/resources/fixup

(前略)
export DEBIAN_FRONTEND=noninteractive
apt-key adv --keyserver pgp.nic.ad.jp --recv-keys 3874DA771B351757
apt-get -y update
apt-get -y install $PKGS

#ここから追加
#setup opencv1
apt-get -y autoremove libopencv-dev python-opencv
#ここまで追加
*パッケージリストに追加してインストールしたパッケージをautoremoveします。
 この手順を飛ばすと正常にインストール完了しないので注意してください。

#Setup locales
locale-gen
sed -i 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
(中略)
#末尾に以下を追加

#setup opencv2
cp /resources/install-opencv.sh /root
cd /root
bash install-opencv.sh
# インストール用のスクリプトファイルを移動させて実行します。

apt-get -y autoremove python
rm -r OpenCV/
rm install-opencv.sh
#インストール完了後、余分なファイルを削除します。(そのままでは容量が圧迫されるため)

2.スクリプト作成

/at-debian-builder-v2.0.0/a600_resources/resources/
にinstall-opencv.shを作成してください。
GitHub:imilq/scripts/bash/install-opencv.shの内容をそのままコピーして保存してください
*このスクリプトではダウンロードするOpenCVのバージョンを冒頭で定義しています。必要に応じて変更してください。
下記のコマンドを実行して、作成したスクリプトに実行権限を付与してください。

[armadillo ~]# chmod +x install.sh

ビルド・書き込み

ルートファイルシステムアーカイブをビルドしてArmadilloへ書き込んでください。
ルートファイルシステムのビルドおよび書き込みの手順については各マニュアルをご参照ください。

インストール確認

書き込み完了後、起動して以下のコマンドを実行してください。
インストールしたバージョンが表示されていればインストール完了です。

[armadillo ~]# python3
>>> import cv2
>>> cv2.__version__