「これがあったら便利だよね」ってのを、どっかのおっさんが用意してくれる。
それがOpenCVだ。
http://gori-naru.blogspot.jp/2012/11/opencv.html
OpenCV
画像をいじりたい人が使うライブラリ。
だいたい無料で使い放題。
Androidで使うのはマジカンタンだからあ、やったほうがよくね?笑
AndroidでOpenCVを使う
とりまダウンロード。
http://opencv.org/downloads.html へ赴く。
OpenCVはいろんなOS用で動くのだ!wa-i
もちろんここではAndroid版をダウンロードする。
でいい感じのトコに解凍する。
ダウンロードディレクトリとかじゃないほうがいい。
さっそくインポート。
Eclipse起動してくれ。
OpenCV-2.4.8-android-sdk/sdk/java
をインポートする。
これAndroidライブラリプロジェクトだよ。
これでおしまい。
やっぱサンプル動かす。
せっかくなのでサンプルを動かしてうぇーいしてみる。
OpenCV-2.4.8-android-sdk/samples/tutorial-1-camerapreview
をインポートして。起動する。
うぇーい
うぇーいできない??
なんかダイアログでた??
そしたら、ナウい日本人丸出しでYes!Yes!って答えておけばおk。
OpenCVの本体が、全部のOpenCVを使ったアプリに1つずつ入っていたら、
端末の容量すげー食って嫌だよね。
まるで、別荘にもワイフがいるようなものさ。
(OpenCV開発者談)
OpenCVはアプリの中に組み込むこともできるけど、
マネージャアプリを通して端末にインストールされたOpenCVを
利用することもできるんだ。
このどっちの方法をとるかは、アプリをつくる側が決められる。
サンプルアプリはマネージャアプリを使っている。
とはいっても、キミの超イケてるCoolなアプリを起動させるために、
件のダイアログを出して、この超ださいアイコンのアプリを
インストールさせるのは気がひけるよね。
NDKで使う。
たいていはJavaでいじっていればいい。
OpenCVの内部はC/C++で書かれているので十分速いためだ。
しかしNDKから使えないと不便なときもある。
たとえば、JNIとJavaの橋渡しは少し時間がかかる。
非常に頻繁に(それがどれくらいかはキミの想像に任せる)
JavaからOpenCVのメソッドを呼び出していると、
やがてその少しの時間がうざったくなる時が来るのだ。
C/C++でOpenCVをいじったことのある人は、
画像配列をJNIでやりとりして、
実装をC++で書いてしまったほうがラクだ。
NDKを使うサンプルな。
jni
ディレクトリがあるものが、NDKを使うサンプルだ。
OpenCV-2.4.8-android-sdk/samples/tutorial-2-mixedprocessing
が該当する。
このプロジェクトをインポートすると
以下の様なエラーがコンソールに出力されちゃったりしちゃうのだ。
error: Program “/ndk-build.cmd” is not found in PATH
まず、NDKを使えるようにしよう。
NDKをダウンロードとか、
Eclipseの設定からAndroidの項目を選び、NDKを選択して、
NDKのパスを設定するとか、
NDKのディレクトリにパスを通すとかはやってある?
それだったら、このサンプルプロジェクトの設定を開き、
C/C++ Build > Tool Chain Editor > Current Builder
の項目をAndroid Builder
にする。
そうしたらビルドできて、動くよ。
うぇーい