OpenCVを使ってAndroidアプリを作ってみる(環境構築+サンプルコンパイル編)

目標: カメラアプリ作る

OpenCVを使ってカメラアプリ作ってみたいなーと思ってとりあえず環境つくったので。
ただコンパイルしたサンプルの機能の一部(カメラに関する機能)が動かなかったり、問題も残ってる。
なんとなくOSの問題な気がして、違う端末なら動きそうな気がするような。。

環境

Mac (Snow Leopard)
IS03 (Android2.1) Windows手元にないのでまだOSアップデートしてない

事前準備

入ってなければMacportsから入れる。

$ sudo port install swig
$ sudo port install swig-java
$ sudo port install cmake

C++をサポートしたNDKを入手

ここから http://www.crystax.net/android/ndk-r4.php
パスは$HOME/android-ndk-r4-crystaxでないといけないらしく、
SDKと同じところに置いておきたかったのでシンボリックリンクはった。

ln -s ~/Android/android-ndk-r4-crystax ~/android-ndk-r4-crystax

OpenCVの安定バージョンを入手

ここから http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.2/

$ cd ~/OpenCV-2.2.0/android
$ mkdir build
$ cd build
$ cmake ..
$ make

android-jniのコンパイル

$ cd ~/OpenCV-2.2.0/android/android-jni
$ make
ERROR local environement not setup! try:
gedit local.env.mk
Makefile:12: *** Please setup the local.env.mk - the default was just created'.
 Stop.

再度make

$ make

Eclipse起動
◇New → Project → Android Project
create project from existing souceにチェックし、~/OpenCV-2.2.0/android/android-jniを指定
◇Finish

CVCameraのコンパイル

android-jniと同じ手順

$ cd ~/OpenCV-2.2.0/android/apps/CVCamera
$ make
ERROR local environement not setup! try:
gedit local.env.mk
Makefile:12: *** Please setup the local.env.mk - the default was just created'.
 Stop.

再度make

$ make

Eclipse起動
◇New → Project → Android Project
create project from existing souceにチェックし、~/OpenCV-2.2.0/android/apps/CVCameraを指定
◇Finish

実機で試してみる

こんな感じです。

f:id:ToQoz:20110505001905p:image

カメラは起動されて、Effectみたいなの付けるのもできた。
でも、Focus出来ないのと、なにより写真とれない。。。
あと、androidでOpenCV(サンプルコンパイル編) – Android のスクリーンショットではカラーだったのに何故かモノクロ。
これはSettingでcolorを選ぶだけでした。

Android2.1以上だと動くと聞いていたんだけど。

NDK-r5はデフォルトでC++サポートしてるとかも聞いたりしたのでそっちでも試してみるか。。

この機種うごかないとか2.2以上ですよとか些細なことでも知ってる人いれば教えてもらえると嬉しいです。

追記

Android2.2 (IS03)でもダメでした。