AndroidでOpenCVを試す
AndroidでAR(Argumented Reality)を考えた時、
-画像認識 : OpenCV
-画像描画 : OpenGL ES
というのが思い浮かぶ。
OpenGL ESについては、AndroidでもサポートしておりJavaで実装出来るが、OpenCVは、Cで記述されており、Android NDKを使用してということになり手をつけることさえ避けていた。
それでも、いざ試してみようと思いサイトにアクセスしたところ、OpenCV 2.3からAndroid版がリリースされていたので、早速試してみた。
Eclipse, Android SDKの環境構築は既にあることが前提とする。
1. OpenCVのダウンロード
以下のURLよりダウンロードする。
http://sourceforge.net/projects/opencvlibrary/files/opencv-android/
今回は2.3.1をダウンロードする。約60MBある。
2. Eclipseにインポートする
ダウンロードしたファイルを展開すると以下のような構成になっている。
- OpenCV-2.3.1
- samples
OpenCV-2.3.1はEclipseのAndroidプロジェクトのフォルダになっている。
Eclipseで、Importメニューからプロジェクトをインポートする。
プロジェクトのプロパティから、「Android」を表示すると「IsLibary」にチェックがついているのがわかる。
OpenCVを使用した開発をする場合は、このプロジェクトを参照する形式で作ればいいという訳だ。
3. サンプルプロジェクトをインポートする
samplesフォルダには、以下のフォルダがある。いずれもEclipseのAndroidプロジェクトになっている。
-15-puzzle
-face-detection
-image-manipulations
-tutorial-0-androidcamera
-tutorial-1-addopencv
-tutorial-2-opencvcamera
-tutorial-3-native
-tutorial-4-mixed
まだ、各サンプルを試していない。tutorialはその名のとおりチュートリアルなのだろう。
まずは、face-detectionをインポートして試してみた。
同様にプロジェクトのプロパティの[Android]を表示してみる。
Libraryのリストに、展開したフォルダ構成と同じで「../../OpenCV-2.3.1」になっていおり、×になっていたため、選択し直した。
4. サンプルを実行する
サンプルを実行してみる。
実行方法は、普通のAndroidアプリと同じように出来る。
自分のIS03にインストールしてみたところ、カメラ画面になり左上にFPSが表示されている。
一人だったので、鏡越しに自分の顔を映したらしっかり顔の部分に枠が描画された。
以上、簡単であるが、AndroidでOpenCVを試すまでの記録である。
もう少し、他のサンプルを試したり、この本を今日買ったので読んで勉強しようと思う。