본문 바로가기
프로그래밍/OpenCV.

[OpenCV] 01.. JAVA로 OpenCV 시작하기

by _Chavi 2020. 9. 20.

OpenCV를 활용할 수 있는 많은 언어들이 있지만 제가 가장 많이 사용하는 JAVA(1.8)를 이용하여 Windows환경에서 OpenCV실습을 진행하겠습니다.

 

OpenCV 설치

OpenCV공식 홈페이지와 GitHub에서 다운로드 가능합니다. 압축파일의 형태로 제공되며 필요하신 라이브러리 파일과 실행 파일들을 이용하시면 됩니다.

 

Eclipse에 OpenCV 라이브러리 불러오기

1. JAVA Build Path 설정

 

2. 예제 소스 실행

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

public class Assignment_1 {

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

}

실행결과

오류 상황

라이브러리를 불러온 후 바로 실행 시에 하기와 같은 오류가 있었습니다.

Welcome to OpenCV 4.4.0
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java440 in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
	at java.lang.System.loadLibrary(System.java:1122)
	at Assignment_1.main(Assignment_1.java:9)

 

그래서 JVM Parameter로 아래와 같이 dll(실행파일)의 위치를 연결해 주었습니다.

-Djava.library.path=(실행파일[.dll]이 있는 폴더의 경로)

Eclipse > Run > Run Configurations > Java Application > MyProject > Arguments

dll 은 OpenCV 패키지에 Build폴더 하위에 있으니 참고 바랍니다.

 

추가!!

Run Configurations를 수정하기 귀찮음으로 소스 시작시에 로드 해주는 소스를 추가시키는 편이 개인적으로 더 편리하다고 느꼈습니다.

System.load("C:/중략경로/OpenCV/lib/x64/opencv_java440.dll");

댓글