OpenCV for android 2.4.3
そろそろandroid側のOpenCVも覗いておこうと思い、インストールしてみた。
version2.2以降、Java APIが整備されてきたおかげで、基本的にJava APIでアプリケーションを書けるはずだが、OpenCVの提供するサンプルアプリケーションを動かすためにはNDKを使ったビルドが必要なので、前提としてNDKとEclipse用のプラグインをインストールして、NDKのロケーションをEclipseに教えておくおく必要がある。
OpenCV for androidをインストールする
といっても、以下のリンクからアーカイブをダウンロードして適当な位置に展開するだけだ。
OpenCV for android 2.4.3
中身は既にEclipseで使えるように構成されており、sampleアプリケーションもそのままEclipseのプロジェクトとして読み込むことができる。
OpenCVのプロジェクトをインポートする
Eclipseのimport→Existing Projects into workspaceで先ほど展開した/OpenCV-2.4.3-android-sdkを指すことで全てのプロジェクトをインポートすることができる。
- OpenCV Library - 2.4.3
これがライブラリィ本体 (IsLibrary=On)であり、他は全て実際に実行することのできるサンプルアプリケーションだ。
- OpenCV Sample - color-blob-detection
- OpenCV Sample - face-detection
- OpenCV Sample - image-manipulations
- OpenCV Tutorial 0 - Android Camera
- OpenCV Tutorial 1 - Add OpenCV
- OpenCV Tutorial 2 - Use OpenCV Camera
- OpenCV Tutorial 3 - Add Native OpenCV
- OpenCV Tutorial 4 - Mix Java+Native OpenCV
このうち幾つかはJNIを通してC++でコードが書かれているのでビルド〜実行にはNDKが必要となる。
従って、プロジェクトでNDKのコマンド(ndk-build)を利用するのだが、この肝心なコマンドへのパスが設定されていないため、必ずエラーとなってしまう。
なので、同コマンドを要求するプロジェクトに関しては以下のように、Properties→C/C++Build→Environmentにて、ndkへのパスを設定してやる必要がある。
(コマンドからコンパイルする時のようにbashのプロファイル等に設定した環境変数は参照してくれないようだ)
ここまでで、全てのアプリケーションのコンパイルが通るはずだ。もしエラーが出る場合は使用するSDKやJavaのコンパイル(JDK1.6ベースである必要がある)を見直す必要がある。
これでインストールは終了。ソースコードをビルドする場合のiOSに比べると100倍は簡単に使える。