![]() |
OpenCV 5.0.0
Open Source Computer Vision
|
前のチュートリアル: Java開発入門
次のチュートリアル: ClojureによるOpenCV開発入門
| 原著者 | Barış Evrim Demiröz |
| 互換性 | OpenCV >= 3.0 |
バージョン2.4.4以降、OpenCVはJavaをサポートしている。このチュートリアルでは、Windows上でEclipseを使ってOpenCV Javaを利用するための開発環境のセットアップ方法を説明する。これにより、ガベージコレクションされ、リファクタリングが容易(変数のリネーム、メソッドの抽出など)な現代的言語の恩恵を享受でき、より少ない労力でコードを書き、より少ないミスで済むようになる。それでは始めよう。
まず、ダウンロードページからOpenCVの最新リリースを入手し、C:\OpenCV-2.4.6\のような単純な場所に展開する。ここではバージョン2.4.6を使用しているが、他のバージョンでも手順はほぼ同じである。
次に、OpenCVをEclipseのユーザーライブラリとして定義し、任意のプロジェクトで設定を再利用できるようにする。Eclipseを起動し、メニューから Window –> Preferences を選択する。
Java –> Build Path –> User Libraries の下に移動し、New... をクリックする。
新しいライブラリの名前(例: OpenCV-2.4.6)を入力する。
次に、新しく作成したユーザーライブラリを選択し、Add External JARs... をクリックする。
C:\OpenCV-2.4.6\build\java\ を参照して opencv-246.jar を選択する。jarを追加したら、opencv-246.jar を展開して Native library location を選択し、Edit... を押す。
External Folder... を選択し、フォルダ C:\OpenCV-2.4.6\build\java\x64 を参照して選択する。32ビットシステムの場合は、x64 の代わりに x86 フォルダを選択する必要がある。
ユーザーライブラリの設定は次のようになるはずである:
それでは、新しいJavaプロジェクトの作成を始める。
Java Settings のステップで、Libraries タブの下から Add Library... を選択し、OpenCV-2.4.6 を選択して Finish をクリックする。
Libraries は次のようになるはずである:
新しいJavaプロジェクトを作成して設定したので、いよいよテストする時である。新しいjavaファイルを作成する。便利なように、ここにスターターコードを示す:
コードを実行すると、出力として3x3の単位行列が表示されるはずである。
以上である。新しいプロジェクトを始めるときは、定義したOpenCVユーザーライブラリをプロジェクトに追加するだけでよい。強力で、より苦痛の少ない開発環境を楽しもう :)
MKLライブラリ付きでOpenCVをビルドし、Intel MKLを使用するOpenCV関数を呼び出すJavaコードを実行した場合、(例えばUbuntuで)次のエラーが発生することがある:
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
Linuxでこれを解決する一つの方法は、Intel MKLライブラリを事前にプリロードすることである(ターミナルでコマンドを実行するか、.bashrc ファイルに追加する)。コマンドラインは次のようなものになるはずである(すでに LD_PRELOAD 変数を設定している場合は、先頭に $LD_PRELOAD: を追加する):
export LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_sequential.so
次に、この環境変数が設定された(echo $LD_PRELOAD)ターミナルからEclipse IDEを実行すれば、エラーは消えるはずである。