9
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[OpenCV3.2.0] Eclipse(Java)の設定(for Mac)

Last updated at Posted at 2017-01-06

MacでOpenCV3.2.0を入れた時、かなり苦労しましたので、メモしておきます。
Windowsではダウンロードしてすぐ使えるらしいですが、Macだと結構面倒でした。
##環境
・OS X El Capitan 10.11.6
・Eclipse Neon
・OpenCV 3.2.0

###1. OpenCV3.2.0をインストール
Homebrewがインストールされていないなら、インストールしておきましょう。

以下のコマンドを実行
brew tap homebrew/science
brew install opencv3 --with-java

cmakeにリンクされないなどのエラーが出ましたら、言われた通りにすれば大丈夫です。

インストールができれば、/usr/local/Cellar/opencv3/3.2.0/share/OpenCV/javaフォルダに以下の2つのファイルがあります。
+opencv-320.jar
+libopencv_java320.dylib

これでOpenCVのインストールが完了です。次にEclipse側の設定をします。
###2. Eclipseの設定
意外とEclipseの設定に苦労しました。まず新しいプロジェクトを作っておきます。

#####+「Java Build Path」画面で「Libraries」タブを開く
File -> Properties -> Java Build Path -> Librariesタブ
#####+ライブラリを追加
「Add Library」 -> 「User Library」 -> 「User Libraries」ボタン
「New」 -> 「opencv-3.2.0」を入力 -> 「OK」
#####+Jarファイルを指定
「Add External JARs」を押下し、「opencv-320.jar」を指定
Jarを指定したら実行できるかと思ったらダメでした。
いろいろ調べたら、ネイティブライブラリも指定しないといけないらしいです。
#####+ネイティブライブラリを指定
「Native library location」を選択し、「Edit」をクリック
パスは/usr/local/Cellar/opencv3/3.2.0/share/OpenCV/javaを指定
(3.1まではlibopencv_java◯◯◯.dylibまで指定したらしいですが、3.2では〜/javaまで指定しないと動かないです)

##3. 動作確認
ソースコードを書いて実行できたらOK。
####ソースコード:
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;

public class Main {
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("m = " + m.dump());
}
}

####実行結果
m = [ 1, 0, 0;
0, 1, 0;
0, 0, 1]

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?