アンドロイドでOpenCV(特徴点検出)
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 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