2013年1月20日日曜日

OpenCV4Androidを試してみた

失ったと思っていたら、Bloggerの下書きに残っていたのでそのまま利用

PCばかりではなく、そろそろスマフォでもOpenCVを試してみたくなったので、OpenCV-2.4.3.2-android-sdk.zipをダウンロードしてみた。
開発環境は、Androidの開発環境を構築しているUbutu 12.04 64bitを使用

Androidの開発環境、および、UbuntuのOpenCVの開発環境は、省略する。
(双方、頻繁に更新されるため、開発環境の構築だけでもそれなりに時間がかかる。以前のバージョンを削除する必要ある場合がある)

・準備
OpenCV-2.4.3.2-android-sdk.zipをここからダウンロードし、適当なフォルダーに展開する

・OpenCV共通ライブラリーの設定
最初に、Eclipseのimportで展開したフォルダーのSDKのJavaを選択しておく。
この時、AndroidSDKで選択したAPIのレベルと一致しない場合がある。もとの設定では、APIは、11となっているが、当方の環境の場合11のSDKがインストールされていなかったため、インストールされていた15(4.0.3)に、Eclipseが自動的に変更していた。

サンプルのビルドと実行
・Eclipseのimportで、展開したフォルダーのsamplesのtutorial-1を読み込む。
 同様にAPI11が、対応するAPI番号に自動で変更される
 
スマフォの準備
・Google PlayでOpenCVマネージャを事前にダンロードしておく
 スマフォによっては、プラグインが選択できる場合もある

・デバッグ
 ADBデバッグの設定済みのスマフォを接続するとEclipseが認識し、デバッグ用のデバイスとして認識する
 あとは、デバッグを走らせれば、運がよければ、アプリが起動しカメラ画像が表示される
 
補足
Androidのカメラ周りの問題かどうかわからないが、スマフォにより挙動が異なるので困ったものだ。(これは、OpenCV側ではなく、デバイス側が原因だろう)

 EVO 3D ISW12HT 4.0.3では、tutorial1を起動すると720x480の画像が約24fpsで表示される
 Nexus7では、tutorial1を起動すると1280x720の画像が約14fpsで表示される
 
 また、ISW12HTでは、Tutorial2は起動しなかったが、Nexus7では問題なかった
 Nexus7では、Tutorial3は、カメラプロファイルの取得でnull pointerとなり動作しなかった

 Tutorial4は、モジュールがロードできないため、動作していない。これは、NDKの環境が必要かもしれない
 
以上

0 件のコメント:

コメントを投稿