SITE)お問い合わせ商標・著作権について購入方法メルマガ登録お問い合わせ警告メッセージHowtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。2017/01/11インテリジェントカメラ向け組み込みプラットフォームであるArmadillo-810は、カメラモジュールからの入力画像を対象に様々な画像処理を行う事が可能です。Distに組み込んで実際にArmadillo-810上で画像処理プログラムを動作させるまでの一連の流れをご紹介します。動作確認OpenCVとはOpenCVとはオープンソースのコンピュータビジョン向けライブラリであり、様々な画像処理アルゴリズムが実装されています。このライブラリを使用する事で、カメラからの入力画像に対して高度な画像処理を比較的容易、かつ短時間で実現する事が可能になります。一例として、手の形状認識や画像上の特定領域の色判別等がOpenCVを利用して実装可能です。OpenCVに関するより詳細な情報は以下をご参照下さい。本HowToで最終的に作成されるカーネルイメージ、及びユーザーランドイメージは以下になります。画像処理プログラムを動作させたい場合は以下のイメージを使用してArmadillo-810を起動し、動作確認手順に従ってプログラムをご使用下さい。してはATDE5を使用します。ATDE5にはOpenCVのARM向けクロスビルド用ライブラリが含まれており、簡単にクロスコンパイルを行う事が可能です。本HowToで使用しているユーザーランド、Linuxカーネル、ATDEのバージョンを以下に示します。ユーザーランドatmark-dist-20130206Linuxカーネルlinux-3.4-at1ATDEatde5-amd64-20130211ソースコードの作成サンプルのソースコードを以下に示します。ATDE5上の任意の作業ディレクトリ内でopencv_sampleという名前でディレクトリを作成し、そのディレクトリ直下にsample_convert.cという名前で下記内容のファイルを作成してください。(本HowToではホームディレクトリ直下にopencv_sampleを作成するものとします。//CvCapture構造体の初期化、引数で使用するカメラを指定する。//カメラからの入力画素数の設定。0;}本サンプルの動作を以下に簡単に説明します。cvCreateCameraCapture関数でArmadillo-810に接続されたカメラを指定し、元となる画像をcvQueryFrame関数により取得します。(cvCreateCameraCapture関数の引数には使用したいビデオデバイスファイルに対応した番号(/dev/video*以下の数字)を渡します。)カメラからの画像を取得後、cvCvtColor関数によるグレースケール化、及びcvCanny関数によるエッジ画像化を行い、カメラ取得画像(src_img.bmp)、グレースケール画像(dst_img.bmp)、エッジ画像(dst_img2.bmp)をcvSaveImage関数によってカレントディレクトリに640x480の画像として保存します。(元となるカメラからの取得画像が極端にコントラストの低い画像であった場合、エッジ抽出が出来ない可能性があります。Distへの組み込み以下、ATDE5のホームディレクトリ直下にatmark-dist、及びlinuxカーネルのディレクトリが存在するものとし、atmark-dist内からlinuxカーネルのディレクトリへlinux-3.xの名前でシンボリックリンクが張られているものとします。以下の内容のMakefileを作成して下さい。/usr/bin/$(EXEC)clean:なお、OpenCVの機能はlibopencv_coreやlibopencv_objdetect等複数のSharedライブラリに分割されており、リンクさせるべきライブラリは使用するOpenCVの関数によって変わります。ライブラリとそれに含まれる関数との対応関係を知りたい場合は以下をご参照下さい。第一部」に記載の手順を参考に~/atmark-dist/vendors/AtmarkTechno/Armadillo-810/を~/atmark-dist/vendors/AtmarkTechno/Armadillo-810-opencv/へとコピーします。~/atmark-dist-20130206/vendors/AtmarkTechno/Armadillo-810-opencv次に、opencv_sampleディレクトリを~/atmark-dist/vendors/AtmarkTechno/Armadillo-810-opencv/以下へコピーします。次のように変更します。opencv_sample/上記Makefileの変更後、~/atmark-dist/へ移動し、Armadillo-810-opencv用のイメージをビルドします。flashのユーザーランド領域へ書き込む事で、openCVのサンプルが組み込まれたイメージを動作させる事が出来ます。今回のサンプルではカメラから画像を取得していますが、Armadillo-810のデフォルトイメージではUVC-gadgetが動作しているため、カメラからの画像取得時に競合が起こります。このため、UVC-gadgetの停止が必要になります。起動スクリプトを書き換えるか、以下のようにプロセスをkillする等、必要に応じて対処して下さい。convertの引数として指定する事でサンプルが実行可能です。1サンプルの実行により一連の画像が生成されるので、ftp等でホストPC側にコピーする事で実行結果を確認する事が出来ます。以下は生成された画像の例です。Inc.本サイトに記載の商品名または会社名は、各社・各団体の商標または登録商標です。TM、®マークは付記していない場合があります。