ブログ

ATDE5でOpenCVを利用するには

標準状態のATDE5 (v20140131)では、x86用のOpenCVパッケージがインストールされていません。 アルゴリズムの検証など、ATDE5上で利用したいシーンは少なからずあると思います。

ATDE5にOpenCVパッケージをインストールするには次のようにコマンドを実行します。

atmark@atde5:~$ sudo apt-get update
atmark@atde5:~$ sudo apt-get install libopencv-dev

OpenCVで2つの直線の交点を検出

OpenCVで2つの直線の交点を検出するソースコードを作ったのでシェアします。

このソースコードの動作確認は、ATDE5にUSBカメラを接続して行なっています。 アルゴリズムの検証用途だったため、Armadilloでは動作確認していませんのでご注意ください。

下図は動作確認時のキャプチャです。

QMLでピンチ動作を試す

以下のページを参考に、QMLでピンチアウト、ピンチインの動作ができるかどうかを確認しました。

http://developer.nokia.com/community/wiki/How_to_handle_pinch_gestures_using_PinchArea_item

Armadilloで動作させるためには、上記のサンプルスクリプトの以下の部分を必要でした。

1) 1行目のimport 1.1をimport 2.0に変更
2) 表示する画像をArmadilloに保存し、18行目の画像ファイルの場所を画像ファイルの場所に変更

※: 動作確認時は、Armadillo実践開発ガイド 第2部のmidomadillo.bmpを使用

以下のコマンドを実行し、スクリプトを起動します。

Armadillo-810でQtCreatorでリモート実行、デバッグ

Armadillo-810でリモート実行、デバッグする方法として、 ATDE5のQtCreatorを使えるようにしてみました。

1.SSHの設定

[プロダクトディレクトリ]/etc/ssh/sshd_config の下記2箇所を変更する。

PermitRootLogin no を PermitRootLogin yes に変更する。

Subsystem sftp /usr/libexec/sftp-server を Subsystem sftp /usr/lib/openssh/sftp-server に変更する。

2.gdbserverの追加

make menuconfigで、ユーザランドコンフィギュレーションを開いて

Userland Configuration
  Miscellaneous Applications --->
    [ ] gdbserver

OpenCVでテンプレートマッチング

OpenCVでテンプレートマッチングを行うソースコードを作ったのでシェアします。

解析結果を合成した画像を/tmp/result.jpgに生成するようにしてあります。 mjpeg_streamerのinput_file.soなどと組み合わせることで、結果を簡単に確認することができます。

Armadillo-840でtslibを使う方法

Armadillo-840はタッチスクリーンライブラリにマルチタッチ対応のmtdevを採用しています。
しかし抵抗膜式などのタッチスクリーンコントローラをArmadillo-840に接続する際には、mtdevではなく
シングルタッチ向けのtslibを使いたくなるケースが出てきます。

ここでは、mtdevではなくtslibを使ってQtのアプリケーションを実行するまでの手順を記述します。

---注意---

本記事は、Armadillo-840液晶モデル開発セットでの動作を想定したものではありません。 以下のタッチスクリーンコントローラ(TSC2007)を接続した環境で、試しております。 http://www.tij.co.jp/product/jp/tsc2007 (TSC2007を動かすためのカーネルの設定がすでに行われていることが前提となっています。) ------------------------------------------ -------------------------------------------------------------------------------------------------------------- 1. ユーザーランドのコンフィギュレーションを実施します。

LCD表示と同じ画面をPCのWebブラウザで見る

Armadillo-440とArmadillo-840のLCD表示と同じ画面をPCのWebブラウザで見る方法を考えてみました。
フレームバッファをJPEGファイルにして、mjpg_streamerで見ることにしました。

添付
lcd2jpeg_a440.zip
lcd2jpeg_a840.zip
の
srcディレクトリ
 フレームバッファをJPEGファイル化するソース
 lcd2jpegを実行すると
 /var/tmp/for_lcd2jpeg/jpeg_file/lcd.jpg
 にJPEGファイルが生成されます。
sample_exeディレクトリ
 lcd2jpegとmjpg_streamerの実行を組み合わせたサンプルスクリプト
 start_lcd2mjpgを実行して、
 PCのWebブラウザで、URLを[ArmadilloのIPアドレス]:8080とすると
 LCD表示と同じ画面が見れます。

補足)
・libstdc++.so.6が必要です。
・フレームバッファの更新と同期してないので、タイミングによっては更新途中の画像になります。
・lcd2jpegは1回の実行に0.5秒くらいかかります。よって、sample_exeでは1秒間隔に実行してます。

Armadillo-840でのAudioコーデックの音量調整

Armadillo-840液晶モデルの拡張ボードには、オーディオコーデック(Wolfson WM8978)が 搭載されています。

http://manual.atmark-techno.com/armadillo-840/armadillo-840_product_manual_ja-1.2.0/ch08.html#sct.kernel_spec.drivers.audio

拡張ボードのヘッドフォン出力(CON6)から、テストサウンドを再生するには、 以下のコマンドを実行します。

Armadillo-800シリーズでUSB接続モニタを使う方法

Armadillo-800シリーズでは、DisplayLink 社のチップが搭載された USB接続可能なモニタやディスプレイアダプタを簡単に使用することが できます。

USB接続モニタ(またはディスプレイアダプタ)を使用するには、 以下のLinuxカーネルコンフィギュレーションを変更してください。

Linux/arm 3.4-at6 Kernel Configuration
Device Drivers  --->
  Graphics support  --->
    <*> Support for frame buffer devices  --->
      <*>   Displaylink USB Framebuffer support   ← 有効化

上記のコンフィギュレーションを設定したLinuxカーネルを使うことで、 USB接続モニタが/dev/fb2等のデバイスファイルから使用できるように なります。

ページ

Subscribe to RSS - ブログ