【JavaでOpenCVアプリケーション作成(備忘録)その1】
JavaでOpenCVを使って画像処理をしてみる
まずはこちらのIntroduction to Java Developmentを参考にしました。
githubからcloneしてきてcmake、makeとやっていくとlibopencv_java244.dylibの生成でエラーが出てしまい生成できませんでした。
ググってみると同じ現象で悩んでいる人もいるようですが回答は参考になりませんでした。
しばらくあれこれ試してみるも状況は変わらず、この方法は諦めて以前にOpenCV SourceForge repositoryからダウンロードしてあったOpenCV-2.4.4.tar.bz2を使ってmakeしたところ問題なく終了しました。
試しに現在の最新であるOpenCV-2.4.4.tar.bz2を持ってきてやってみるとやはりエラーが出ます。どうも最新版は何か問題があるみたいです。
これで一応、環境が揃ったので簡単なプログラムを書いて動作するかやってみました。
jpgファイル画像を読み込んで情報を表示するだけのものです。
public void LoadImageFile(String filename) {
System.loadLibrary(“opencv_java”);
Mat src = Highgui.imread(filename);
if (src.empty()) return;
System.out.println(“OpenCV Mat: ” + src);
}
上記のページのサンプルではSystem.loadLibrary(Core.NATIVE_LIBRARY_NAME)としていますが生成されるライブラリファイルがlibopencv_java.dylibなので変更しています。
実行してみると以下のように情報が得られましたので動作しているようです。
OpenCV Mat: Mat [ 294*970*CV_8UC3, isCont=true, isSubmat=false, nativeObj=0x7fb51023e110, dataAddr=0x19e508010 ]
次は画像を表示するプログラムを書いてみよう。