[Java] OpenCV 설치 시 'java.lang.UnsatisfiedLinkError' 에러 해결 메모

1. Eclipse → Window → Preferences → Java → Build Path → User Libraries에서 현재 추가된 OpenCV 모두 삭제

2. 다시 New 단추 눌러서 아래처럼 추가하기

- User library name: OpenCV-3.4.3
- System library는 체크해제 할 것

3. Add External JARs... 를 눌러 opencv-3.4.3.jar 파일 추가
- 깔끔하게 C:\ 디렉토리 밑에 opencv의 exe압축을 해제해두면 경로는 "C:\opencv\build\java"가 된다.

4. Native library: (None) 항목 선택 후 Edit하여 DLL파일 경로설정
- C:\ 디렉토리 밑에 opencv의 exe압축을 해제해두면 경로는...
  64비트 환경에서 "C:\opencv\build\java\x64"
  32비트 환경에서 "C:\opencv\build\java\x32"
가 된다.

5. 다시 프로젝트에서 OpenCV 추가하여 빌드
 1
2
3
4
5
6
7
8
9
10
11
12
13
package opencv;

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 mat = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println(mat.dump());
}
}

6. 그래도 안될 경우, System.load로 직접호출
- 9번 라인의 "System.loadLibrary" 대신 DLL파일을 직접 호출하도록 아래처럼 System.load를 사용한다.
- Unix family(with Mac)환경이라면 DLL 대신 SO파일 일 것이다.
System.load("C:\\opencv\\build\\java\\x64\\opencv_java343.dll");

7. 그래도 안된다면
https://stackoverflow.com
가서 징징대기

덧글

댓글 입력 영역