본문 바로가기
나중에 내가 보려고 기록해두기

[설치 가이드] Intellij java opencv 설치

by 고기 2022. 10. 19.

1. 실패

2. opencv 설치 및 적용


 

쉬는동안 굉장히 많은 삽질을 했다.

 

왠지 모르겠지만 파이썬은 참고할 문서도 많고 예제도 많은 반면

자바는 내가 못 찾는건지 그냥 없는건지 모르겠지만 영 시원찮은 검색결과만 나오길래

삽질결과를 정리해봤다-ㅅ-

 

1. 실패

혹시 java opencv 설치를 헤메는 망령이 찾아올지도 모르니 우선 실패한 내용을 상단에 기술한다.

 

우선 사용된 IDE는 intellij고 스프링 부트로 그래들 프로젝트를 생성했다.

일단 처음으로 시도했던 방법은 당연히 build.gradle에 dependencies를 작성하는 것이었다.

 

 

dependencies {
	/* 스프링 부트 설정 */
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'

	...
    
    
	/* opencv 추가 */
    /* https://mvnrepository.com/artifact/org.openpnp/opencv/4.5.5-1 */
	implementation 'org.openpnp:opencv:4.5.5-1'
}

 

이런식으로 어찌어찌 build.gradle로 jar을 가져오는데 성공했지만 이놈이 문제였다.

라이브러리를 로드시켜줘야 하는데... jar에 opencv_java455.dll이 포함되어 있음에도 dll 파일을 인식하지 못했다.

 

파일은 있으니까 경로만 설정해주면 되는데 아무리 이리저리 해봐도 결론은... 실패였다.

/* 여기서 라이브러리 못찾아서 에러 */
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

 

jar 내부 경로를 잘못 적용해준것도 아닌 것 같은데... 하루종일 검색하느라 시간이 녹았다.

아니면 진짜 내가 잘못했을수도 있고. (개멍청이)

안되는건 안되는거지. 하고 빠른 포기를 했으면 좋았을것을.

 

아무튼 실패 과정을 정리하면 이렇다.

 

1. 그래들로 jar 땡겨오기

2. 라이브러리 추가됐는지 확인

3. jar 안에 포함되어 있는 opencv_javaOOO.dll 파일 경로를 설정...해야하는데 실패

(아마 내가 방법을 못 찾았을 뿐이지만...)

 

2. opencv 설치 및 적용

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그리고 이렇게 했으면 5분만에 적용이 끝났을것을

괜히 그래들로 편히 jar 가져오겠다고 고집부려서 시간만 더 날린 셈이다.

 

opencv 공식 홈페이지를 들어가자.

https://opencv.org/

 

Home - OpenCV

OpenCV provides a real-time optimized Computer Vision library, tools, and hardware. It also supports model execution for Machine Learning (ML) and Artificial Intelligence (AI).

opencv.org

 

Releases 클릭

 

나는 가장 최신인 4.6.0버전을, 그리고 당연하지만 Window를 다운로드 받았다.

 

opencv-4.6.0-vc14_vc15.exe를 실행시켜서 하란대로 진행하면 된다.

 

진행이라고 하기엔 경로 설정 후 Extract 버튼만 클릭하면 서버에서 파일을 받아오는것 뿐이지만.

 

다운로드 받은 opencv 폴더 안에서 우리가 필요한 2개의 파일을 확인하자.

opencv > build > java 폴더에 있는 opencv-460.jar 파일과

opencv > build > java > x64 폴더에 있는 opencv_java460.dll 파일이다.

 

... 그리고 적을까 말까 했는데 딱히 글을 줄일 필요도 없으니 일단은 적어둔다.

x86은 32비트고 x64는 64비트니까 라이브러리 추가할 때 참고하면 된다.

 

java 폴더만 따로 스프링부트 프로젝트 아래 복사했다.

이름은 opencv_java로 변경해줬는데 변경안하고 그대로 사용해도 상관없다.

 

인텔리제이로 돌아가서 ctrl alt shift s를 눌러서 Project Structure를 연다.

우측 상단에 설정에서 클릭해도 된다.

 

Modules에서 jar 추가

 

jar file 선택 후 ok

 

추가된 jar file 확인 후 jar 더블클릭

 

dll 파일 선택 후 ok

 

Native Library Locations 추가된 것 확인 후 ok

 

여기까지 하면 opencv 설치가 끝난다.

이제 이.. opencv를 사용해서 프로젝트를 만들 수 있을지 없을지 테스트를 해봐야하는데

아직 아무것도 진행된게 없으니 예제코드는 없다.

댓글