アンドロイドでOpenCVを使ってみる..の第三弾。

「特徴点検出」です。

Opencv 2.3.1に同梱されているsamplesフォルダーの中のtutorial-3-nativeを使ってみます。

ただし、これを使用するにあたって、ネイティブコードをコンパイルする必要があります。

したがって、まずはWindowsの場合の環境構築、その後でtutorial-3-nativeをデプロイします。






環境構築

CygwinをWindowsにインストール

コレについての情報はいっぱいあるのでサッと行きます。

Cygwinはここ

最新版のDLLは、1.7.15

setup.exeをダウンロードして、ネット経由でインストール。





必要なパッケージは、以下の通り。

ViewはFullに設定

make:The GNU version of the 'make' utility
gcc4:GCC Release series 4 compiler (C & C++ install helper)
gcc4-core:Core C compiler subpackage
gcc4-g++:G++ subpackage
gdb:The GNU Debugger
gettext:GNU Internationalization library and core utilities(PLUS LINK LIBS)
libexpat1

結構、時間がかかります。


Android NDKをインストール

Android NDKはここ

最新版は、r_8

NDKを解凍して、適当なドライブ上にコピー
(階層がある場合は、ディレクトリ名はスペースを含まないようにします)

Android NDKのパスを設定します。

コンパネ-->システム-->詳細設定-->環境変数-->システム環境変数-->Path を編集

以上です。

TOP






特徴点検出のサンプルコードを使ってみる

android OpenCV 2.3.1に含まれるサンプルコード(tutorial-3-native)を使ってみます。

このコードをNDKでビルドします。

まず、Cygwinを起動(Cygwin Terminal)。

tutorial-3-nativeのディレクトリに移動します。

例:
tutorial-3-nativeがE:ドライブの以下のようなディレクトリにコピーされているとします。

E:\android_opencv\samples\tutorial-3-native

Cygwinで以下のコマンドを実行。

$cd /cygdrive/e/android_opencv/samples/tutorial-3-native

ビルドを実行します。

$ndk-build

こんな感じ。





tutorial-3-nativeにlibsとobjの2つのフォルダーが現れます。

libsにはAndroidカメラのsoファイルが生成されています。

Eclipseでtutorial-3-nativeをインポートします。

プロジェクトをCleanしたり、実機にデプロイする場合、以下のようなエラーが出る場合があります。




Error generating final archive: Found duplicate file for APK: lib/armeabi-v7a/libnative_camera_r2.2.2.so
Origin 1: E:\android_opencv\samples\tutorial-3-native\libs\armeabi-v7a\libnative_camera_r2.2.2.so
Origin 2: E:\android_opencv\OpenCV-2.3.1\libs\armeabi-v7a\libnative_camera_r2.2.2.so


カメラが認識できないということのようです...(多分)。

この場合は、tutorial-3-native\libs\armeabi-v7aからlibnative_camera_r2.2.2.so(あるいは、libnative_camera_r2.3.3.so)ファイルを削除してください。

再度、Run as Android Applicationを実行。




が、また出るかもしれませんが、無視していいです。

こんな感じで、特徴点が検出されます。









Under construction

TOP






他のOpenCV関連ページ

OpenCV覚書

矩形領域の座標を取得するページ

OpenCV 2.3.1でカスケードを作って、Androidで使ってみる

アンドロイドでOpenCV(お顔の検出)

アンドロイドでOpenCV(色検出)

Android OpenCV 2.3.1で画像認識

AndroidでOpenCV 2.4.6を使ってみる

OpenCV + NyMMDで初音ミクさんにご挨拶してもらいます

Android OpenCV 2.4.6 の顔検出アプリを一から作ってみる