2014年3月14日金曜日

JNI経由でJavaからOpenCVを使ったCppを呼び出す

前回JNIについて書いたのは結構前でした。

JNI JavaからCppを実行する
http://masabloggers.blogspot.jp/search/label/JNI

※参考ページ
http://stbr.no-ip.org/daizu/2009/11/jni-ant.html

この時に作成したbuild.xmlを改良して、OpenCVを使ったCppのコードを
コンパイル出来るようにするぜ。

後、うまくOpenCVの実行ファイルを使えるようにするぜ。

というのが目標です。

Cppコードのコンパイル


まずは ANT build.xml でOpenCVを使ったコンパイルが出来るようにしましょう。

今回は、OpenCV2.4.6 を使います。

OpenCVダウンロード
http://masabloggers.blogspot.jp/search/label/JNI


以下に展開した前提で進めます。

/opt/opencv-2.4.6
gcc のコンパイルは、ノード cc で実行します。

OpenCVを使用したコードで必要なのは、主に以下だと思います。

  • ヘッダファイルのincludeディレクトリ
  • リンクするライブラリ
ノードccの子供に、以下のノードを設定できます。

  • includepath
  • libset

以下のように書けます。


注意したいのは、ライブラリを指定する時に、先頭の lib と 拡張子の .so を除いて記述するところです。libsには私が必要だったライブラリしか指定していないので、必要に合わせて変更します。

OpenCVのインストール時、オプションを指定しないとすべて /usr/local/ に配置されるので、ディレクトリを指定したい場合は注意。




0 件のコメント:

コメントを投稿