ブログ

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にログインした際に、設定される環境変数はどこで設定されているのか?を Armadillo-840を例に簡単にですが説明します。

Armadillo-840にログインして環境変数を見てみます。

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

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

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表示と同じ画面が見れます。

補足)

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等のデバイスファイルから使用できるように なります。

Armadillo-420でunzipに失敗する

[現象]
Armadillo-420上でunzipを使ってzipファイルを解凍しようとすると、
以下のように失敗する。

[root@armadillo420-0 (ttymxc1) ~]# unzip test.zip
Archive:  test.zip
unzip: Unsupported compression method 0
[原因] zipファイルの圧縮メソッド(アルゴリズム)が、無圧縮(stored)になっているため。 [詳細] zipファイルの圧縮メソッドについては、以下のURLに説明があります。 http://www.wdic.org/w/TECH/ZIP - 圧縮アルゴリズム Armadillo-400シリーズに標準でインストールされているbusybox 1.00.rc3のunzipでは、 一般的に使用されている[Deflate]という圧縮メソッド以外は、対応できていません。

ページ

Subscribe to RSS - ブログ