Mac Os open cv 라이브러리 설치하기/오류해결(feat.java)

Young eee·2023년 7월 10일
post-thumbnail

파이널 프로젝트를 진행했다.

얼굴인식이 주요기능이었는데 windows에서는 쉽게 깔리는게 mac에서는 잘 깔리지도 않고 정보도 없었다.....특히 다들 파이썬으로 하시는 것 같더라..난 java언어로 프로젝트 중이였는데....

하여튼 뚱땅대면서 온갖 자료를 뒤져내서 결국 설치에 성공했다.

구글 채고..과거의 글로 남겨주신 분들 채고...그래서 나도 블로그로 남겨두기 위해서 이걸 해결하기위해 뚱땅댔었던..과정을 풀어보려 한다..

💻 Mac Os opencv 라이브러리 설치방법

먼저 intel macM1 mac에는 설치방법이 약간의 차이가 있다.
나는 intel mac을 사용중이고 내 설치방법은 intel mac 이라는 것을 미리 알리고 시작합니다..!

일단 알려진 가장 기초의 설치방법은

  1. Home brew 설치
  2. ant 설치
  3. open cv 설치

이대로 설치를 해보자.

📍터미널을 열고 Home brew를 설치한다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

📍ant 설치
brew install ant

📍open cv 설치
brew install open cv

📍open cv 설치 후 편집해줘야함(작성 후 :wq 쳐서 저장 후 꺼주면 된다. w가 저장, q가 종료)
brew edit opencv
-DBUILD_opencv_java=OFF 를 -DBUILD_opencv_java=ON 으로 변경

📍변경 후 source 설치
brew install --build-from-source opencv

📍확인
brew info opencv

만약에 Build에 cmake, pkg-config에 체크가 안되어있다면 또 따로 설치해줘야한다.

📍추가설치
brew install cmake
brew install pkg-config

자....여기까지가 open cv 설치방법...인데

이게 깔리면 spring이고 xcode고 하여튼 필요한 곳에 설정해서 사용하면 되는데 설치항목에 보면 java가 안깔린걸 확인할 수 있었다...xcode를 무조건 깔아야하는건가..?해서 깔아도 봤는데 아냐..아니다...

이걸 해결하기 위해서 결국 수동으로 깔아보기로 했다.

자 처음부터 다시^^ 위에 방법은 잊으세요.



📍brew로 cmake 설치
brew install cmake

📍open cv git으로 들어가서 clone해서 사용(설치하려는 경로 확인)
git clone https://github.com/opencv/opencv

여기서 git clone이 아닌 zip파일로 다운받아서 압축해제해서 사용해도 된다. 헷갈릴 것 같다면 이방법이 더 좋다!!!그게 오히려 원하는 곳에 파일을 눈으로 보면서 옮길 수 있다. zip파일로 다운받으려면 링크 클릭해서 다운받으면 된다.


📍build 파일 생성해주고 cMake로 컴파일
build파일이 실질적으로 사용하게 되는 폴더이므로 저장경로 확인 필수!
mkdir opencv_build
cd opencv_build
cmake ..
sudo make install


📍설치완료 후 opencv 버전 확인
pkg-config --modeversion opencv

여기까지해서 잘 되었다면..다행이다. 근데 나는 cmake ..에서 자꾸 오류가 나는 것이다!!!!!
하나 해결하면 또 오류나고 하나 해결하면 또 오류나고 아주 다양한 오류를 경험시켜줬다^^
화가 머리끝까지 나서 open cv 포럼이랑 git issue를 미친사람처럼 뒤졌다ㅎㅎㅎ
그래서 또 찾아냈다. 모두 수동으로 하는 방법을^^

cmake 빌드할 때 오류가 났던 부분을 다 찾아서 수동으로 셋팅값 맞춰 준 다음 컴파일 해준다ㅎ

📍수동세팅값

cmake -DJAVA_INCLUDE_PATH=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home/include -DJAVA_INCLUDE_PATH2=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home/include -DJAVA_JVM_LIBRARY=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home/lib/server/libjvm.dylib -DJAVA_AWT_LIBRARY=/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home/lib/libjawt.dylib -DZLIB_ROOT=/usr/local/opt/zlib -DZLIB_INCLUDE_DIR=/usr/local/opt/zlib -DZLIB_LIBRARY=/usr/local/opt/zlib/lib/libz.dylib -DCMAKE_PREFIX_PATH=/usr/local/opt/zlib ../opencv-4.x

내용을 보면 알겠지만 java를 못찾는 것 같았다. 환경변수가 잘못되어있나? 싶어 확인해봤는데 아주 멀쩡히 자~~~알 있었다.
저기서 본인 mac에 맞게 수정하려거든 앞에 경로만 찾아서 바꿔주면 된다. 근데 아마 따로 설정을 해주지 않았다면 나랑 경로가 비슷할 것으로 예상된다.

만약 여기까지 했는데 안된다면 cMake 캐시를 삭제하고 다시 해보시길.. 캐시 삭제 방법은 CMakeCache.txt 이 파일 찾아서 삭제해버리면 된다.

나는 이렇게까지 해서 java가 설치되는 걸 눈으로 확인했다.

그러면 이제 내가 쓸 spring에 적용해야함

📍프로젝트 오른쪽 마우스 클릭 > Properties


📍Java Build Path > Libraries > Add Library > User Library


📍New > library name 생성


📍Add External JARs > bin 폴더 내부에 jar파일 삽입



📍생성한 library 펼치면 아래 Natice library location 보임. 선택 후 Edit


📍설치한 opencv라이브러리 찾아서 build 안에 bin 폴더로 경로설정(opencv jar 파일이 있는 곳)

이렇게 하면 Build path는 끝.




📍다음으로 Run > Run Configurations


📍Arguments에 path를 넣어준다.(lib로 넣어줘야함!!)

여기까지하면 진짜 완료다!!!!!!

구글링으로..open cv 포럼이며 스택플로우 온갖 사이트를 다 뒤져내서 결국 성공해냈다..Run 돌려서 돌아갈 때 입틀막했다. 진짜..ㅎ 이런거 하나에도 행복해하는 나란 초보 개발자...뿌엥ㅠ

0개의 댓글