Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

このチュートリアルでは、SDKのインストールディレクトリを${SDK_DIR}として記載します。

Note

外部ライブラリのビルドにつきましてはサポート対象外となっております。本章に記載の情報を参考に外部ライブラリをビルドしてください。問い合わせいただいてもサポートできかねますので予めご了承ください。

目次

...

Table of Contents
minLevel1
maxLevel4

...

Note

sudo makeのように実行すると一般ユーザではアクセスできない場所にファイル生成された場合などに失敗する可能性があります。sudo makeで実行する場合はUbuntu OSのユーザ設定を確認しadministrative privilegesであることを確認ください。OSのユーザ設定を事前に確認ください。

Code Block
$ make
Info

OpenCVのコンパイルには時間がかかるため、しばらく待ちます。

...

コピー先ディレクトリ ${SDK_DIR}/src/adamapp/opencv_edge_detection_app/external/include/opencv2 にファイルがコピーされていることを確認してください。

不要なファイルを削除する

作成されたOpenCVライブラリには、ライブラリのデバッグに使用するための情報が含まれています。

アプリケーション実行時には使用しないため、容量削減のためデバッグ情報を削除することをお勧めします。

Info

不要なファイルを削除するだけで数十MBの容量削減になります。アプリのファイルサイズが大きくなるとROM容量制限によりアプリ異常終了の原因となりますのでご注意ください。

Code Block
$ cd ${SDK_DIR}/src/adamapp/opencv_edge_detection_app/external/lib/aarch64-linux-gnu/
$ aarch64-linux-gnu-strip --strip-debug libopencv_world.so
$ aarch64-linux-gnu-strip --strip-debug libopencv_world.so.4.7.0
$ aarch64-linux-gnu-strip --strip-debug libopencv_world.so.407

 

サンプルアプリをビルドする

サンプルアプリ「opencv_edge_detection_app」をビルドして、カメラにインストールします(例:下記画像の緑枠からインストール可能)。

ビルド方法はこちらを参照してください。ビルド方法は各SDKバージョンに応じて実施ください。

アプリ画面を開きます(下記画像の赤枠ボタン)。

...

下記画像のような、カメラが撮影した映像のエッジ検出された画像が表示されていれば成功です

...

C/C++モジュールをコンパイルする(Curl)

...

コンパイル環境を準備する

「setup_env.sh」を使用して SDK を使用するようにビルド環境をセットアップします。

Code Block
$ cd ${SDK_DIR}
$ source setup_env.sh ipro-ambaCV2X
Info

ここでは「ipro-ambaCV2X」を指定していますが、利用する環境にあわせて適宜変更ください。

libcurlのソースコードをダウンロードする

公式サイトからlibcurlのソースコードをダウンロードします。

...

サンプルアプリ「update_sample_app」をビルドして、カメラにインストールします(例:下記画像の緑枠からインストール可能)。

ビルド方法はこちらを参照してください。ビルド方法は各SDKバージョンに応じて実施ください。

アプリ画面を開きます(下記画像の赤枠ボタン)。

...

下記のようなメッセージが表示されていれば成功です

...

C/C++モジュールをコンパイルする(SQLite)

...

コンパイル環境を準備する

「setup_env.sh」を使用して SDK を使用するようにビルド環境をセットアップします。

Code Block
$ cd ${SDK_DIR}
$ source setup_env.sh ipro-ambaCV2X
Info

ここでは「ipro-ambaCV2X」を指定していますが、利用する環境にあわせて適宜変更ください。

SQLiteのソースコードをダウンロードする

公式サイトからSQLiteのソースコードをダウンロードします。

...

Code Block
$ cd ${SDK_DIR}/external/build/sqlite
$ cp [ダウンロードしたソースコード格納ディレクトリ]/sqlite-autoconf-3400000.tar.gz ./
$ tar -zxvf sqlite-autoconf-3400000.tar.gz
$ cd sqlite-autoconf-3400000.tar.gz

Configureを実行する

${SDK_DIR}/external/build/sqlite/sqlite-autoconf-3400000 ディレクトリで実行します。

...

このチュートリアルでは、サンプルアプリ「sqlite_app」を例にします。

Infonote

sqlite_app の動作にはSDカードが必要です。SDカードを挿入できるカメラのみ確認可能です。
また、カメラのファームウェアによってはext4でフォーマットしたSDカードでないと動作しない可能性があります。

...

修正前)ADD_LIBS+= sqlite


修正後)ADD_LIBS+= sqlite3

サンプルアプリをビルドする

サンプルアプリをビルドする前に、下記の画面にてSDカードをフォーマットします。(フォーマットしてよいSDカードか事前に確認ください、SDカードのデータは全て消去されます。)
フォーマットが完了したら、SDカードをext(ext4)フォーマットにしてSetボタンを押下します。

...

サンプルアプリ「sqlite_app」をビルドして、カメラにインストールします(例:下記画像の緑枠からインストール可能)。

ビルド方法はこちらを参照してください。ビルド方法は各SDKバージョンに応じて実施ください。

アプリ画面を開きます(下記画像の赤枠ボタン)。

...

下記のような画面が表示されていれば成功です。

...

Code Block
$ cp -r ${SDK_DIR}/external/build/sample/docker/docker_volume/jpeg-9e/.libs/libjpeg.so.9.5.0 ${SDK_DIR}/src/adamapp/jpeg_app/external/lib/aarch64-linux-gnu

コピー後のディレクトリ構成は以下のようになります。コピーしたら、シンボリックリンクを作成してください。

Code Block
$ cd ${SDK_DIR}/src/adamapp/jpeg_app/external/lib/aarch64-linux-gnu/
$ ln -s libjpeg.so.9.5.0 libjpeg.so.9
$ ln -s libjpeg.so.9 libjpeg.so

コピーおよびシンボリックリンク作成後のディレクトリ構成は以下のようになります。

${SDK_DIR}/src/adamapp/jpeg_app/external/lib/aarch64-linux-gnu/libjpeg.so.9.5.0

${SDK_DIR}/src/adamapp/jpeg_app/external/lib/aarch64-linux-gnu/libjpeg.so.9

${SDK_DIR}/src/adamapp/jpeg_app/external/lib/aarch64-linux-gnu/libjpeg.so

 

libjpegヘッダファイルは以下のディレクトリにインストールされています。

...

サンプルアプリ「jpeg_app」をビルドして、カメラにインストールします(例:下記画像の緑枠からインストール可能)。

ビルド方法はこちらを参照してください。ビルド方法は各SDKバージョンに応じて実施ください。

アプリ画面を開いて(下記画像の赤枠ボタン)、カメラが撮影したjpeg画像が表示されていれば成功です。

...