Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
22
Help us understand the problem. What is going on with this article?
@livlea

EclipseでJava用のOpenCVを使う(for windows)

More than 5 years have passed since last update.

■EclipseでOpenCVを使えるようにする

忘備の意味を込めて、EclipseにJava用のOpenCVをインストールする手順をメモしておきます。
Eclipseのインストールはweb上の様々なところに書いてあるので割愛し、既にEclipseがインストールされている状況を想定しています。環境は以下です。

   OS : Windows8.1
   Eclipse : Version Mars.2 Release (4.5.2)
   OpenCV : Version2.4.12 (2.X系で最新Version 2016/03/05時点)

① OpenCVの.exeファイルをダウンロード

まずは、OpenCVをここからからダウンロードします。Windowsにインストールするので、OpenCV for Windowsをダウンロードしてください。もちろん、LinuxやMacにインストールする場合は、OpenCV for Linux/Macなど、環境に適したものを選択してください。
2016年3月5日現在で最新のOpenCV 3.1でも良いのですが、OpenCVは2.X系と3.X系でちょこちょこ変わった部分があるので、今回は2.X系で最新のVersionをインストールすることにします。この辺りは、自分の目的に合わせてインストールすれば良いかと。OpenCVが初めての方であれば、3.X系でもOKです。

② ダウンロードしたOpenCVの.exeを実行してOpenCVをインストール

①でダウンロードしたopencv-2.4.12.exeを実行します。①でダウンロードパスを変更していなければ、この実行ファイルは通常はPC → ダウンロード フォルダにダウンロードされているはずです。
実行すると以下のようにファイルを展開するパスを聞かれますが、デフォルト設定でOKです。Extractを押してインストールを開始します。

図1.png

インストールが完了すると先ほど指定したパスに"opencv"というフォルダができます。
特にこのままでも問題ありませんが、のちのちOpenCVの3.X系もインストールして2.X系と共存させたいと思っているので、フォルダにバージョン名をつけてリネームします( opencv → opencv_2.4.12 ) 。また、C:/Users/hoge/ の直下にこのフォルダを移動させます。

③ Eclipseで使えるように設定する

Eclipseで新規プロジェクトを作成して、ビルドの設定にOpenCVのJava用の.jarファイルを追加します。
まずは、Eclipseで File → New → Java Project で新規プロジェクトを作成します。Project Nameは今回は OpenCVTestとしました。
次に、作成したプロジェクトを右クリックして Build Path → Add External Archives を選択し、Java用の.jarファイルを選択します。.jarファイルはbuilldフォルダ → javaフォルダの下にある opencv-2412.jar です。
今回は以下↓のパスになっています。
C:/Users/hoge/opencv_2.4.12/build/java/opencv-2412.jar
.jarファイルが正しく指定できれば、JavaのProject直下の Referenced Libraries に opencv-2412.jar が入っています。

図2.png

④ Pathの設定

OpenCVのdllファイルを使用するため、WindowsのPathの設定をします。
Windowsでシステムの詳細設定 → 環境変数を選択。そこから、システム環境変数の Pathを選択して、編集をクリックします。

図6.png

すると、システム変数の編集ウィンドウが開くので、変数値の一番最後にセミコロン(;)で区切ってdllファイルがあるパスを追加します。今回は64bitなのでx64直下にある opencv_java2412.dll を使用するので、この.dllファイルがある以下↓のパスです。
C:/Users/hoge/opencv_2.4.12/build/java/x64

以上① ~ ④でインストールおよび設定は完了です。

⑤ 動作確認

問題なくOpenCVが使えるようになっているか、簡単なテストコードで確認してみます。OpenCVでPC内にある画像を読み込んで、グレー画像に変換するコードです。
作成したEclipseのProject (OpenCVTest)の srcを右クリック → New → Class でテスト用のクラスを作成します。
PackageとクラスのNameは適当に決めてください。今回はPackageは test、クラスのNameはImgConvに設定して、自動で生成されるImgConv.javaを以下のように編集しました。

ImgConv.java
package test;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
import org.opencv.imgproc.Imgproc;

public class ImgConv {  
    static{
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }

    public static void main(String[] args) {
        String path_in = "C:/Users/hoge/Lenna.bmp";
        String path_out = "C:/Users/hoge/Lenna_gray.bmp";

        Mat mat_src = new Mat();
        Mat mat_dst = new Mat();

        mat_src = Highgui.imread(path_in);                          // 入力画像の読み込み
        Imgproc.cvtColor(mat_src, mat_dst, Imgproc.COLOR_BGR2GRAY); // カラー画像をグレー画像に変換
        Highgui.imwrite(path_out, mat_dst);                         // 出力画像を保存
    }

}

以下↓のコード。これは、IBMのサイトを参考にすると分かりやすいです。
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

実行すると、入力したカラー画像がグレー画像に変換され、問題なくEclipseでOpenCVを使えていることが確認できました。

図11.png

22
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
livlea
https://github.com/livlea

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
22
Help us understand the problem. What is going on with this article?