1
3

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 3 years have passed since last update.

OpenCV(Java)のことはじめ

Last updated at Posted at 2020-12-21

はじめに

コマンドでの実行が苦労したときのメモ書きしたものになります。

実行環境: Windows10、Java15、OpenCV-4.5.0

OpenCVのインストール

  1. 公式ホームページから最新バージョン(4.5.0)を入れる。(Windowsボタンを押すとインストールが始まります。
    ダウンロード先のファイルの指定の所では、c:\にしておくと後で探しやすいと思います。

  2. 解凍したフォルダに移動します

  3. "*****\opencv\build\java"の中opencv-450.jarとx64という名前のフォルダの中にopencv_java450.dllがあることを確認してください。

サンプルコードとコンパイルの仕方

Sample.javaを作成します(コードは以下をコピペしてください)。
このプログラムと同じディレクトリに"lib"という名前のフォルダを作成し、
opencv-450.jarとopencv_java450.dllのコピーを入れます。

Sample.java
import java.io.File;

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;

public class Sample {
    public static void main(String[] args) {
        // OpenCVが使えるためのおまじない
        // 環境によってcan't load libraryのエラーが出る可能性がある
        // <解決策>
        // lib_pathに"opencv_java450.dll"を入れたフォルダの
        // 絶対パスを調べて、lib_folder.getAbsolutePath()の代わりに書きます
        // 例: String lib_path = "C:\\Users\\username\\workspace\\lib";
        File lib_folder = new File("lib");
        String lib_path = lib_folder.getAbsolutePath();
        System.load(lib_path + "\\" + Core.NATIVE_LIBRARY_NAME + ".dll");
        // OpenCVの画像の型は"Mat"になります。
        // Matは行列の形をしています。
        // ここではOpenCVが実際に動くか確かめるために
        // 3×3の対角行列を試しに作ってみます。
        Mat mat = Mat.eye(3,3,CvType.CV_8UC1);
        // 作った行列の中身を確認します。
        System.out.println("mat = " + mat.dump());
    }
}

それでは、コンパイルをしてみましょう。

javac -classpath .;lib\opencv-450.jar Sample.java

実行します。

java -classpath .;lib\opencv-450.jar Sample

出力結果が以下のようになっていればopenCVが使えていることが確認できます。

mat = [  1,   0,   0;
   0,   1,   0;
   0,   0,   1]

終わりに

今度Macでも確認する。-Djava.library.pathでdllのパス指定するのは面倒だったのでこうした。元も子もないけど、IDE使うのが楽そう。

1
3
1

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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?