굳이 왜 빌드를 해야되냐 라고 생각했었는데.. feature2d 쪽을 사용해보려면 직접 빌드하는 수 밖에 없다.
그리고 웹상 돌아다니는 대부분의 소스가 python 내지 c++기준으로 예제들만있고.. java로 사용하는 형태는 예제가 많이 부족하다.
어찌되었든 Feature Detection을 해보려고 하다보니, SURF class가 필요하다는 사실을 알게됐고, 써보려면 contrib(opencv의 추가 라이브러리) 을 받아 opencv와 함께 빌드해야 한다는것..
공식 깃헙에서는 contrib를 추가라이브러리라고 부르지않고 약간 실험적인 내용들을 담고있으며 소스가 안정화 되면 공식 라이브러리에 포함하기 위한 내용들을 담고 있다고 기술되어있다.
게다가 SURF인 경우 3.4.2 이후부턴 포함도 안되는듯해서.. 3.4.2로 받아야한다..
바이너리 소스는 각각 github과 opencv 공식 사이트에서 받을 수 있고 이를 빌드해주는 툴인 cmake 는 사이트에서 받으면된다. 거기에 visual studio 도 받아야한다.
1. Source(openCV, openCV Contrib) , CMake , Visual Studio 다운로드
https://github.com/opencv/opencv/archive/3.4.2.zip
https://github.com/opencv/opencv_contrib/releases/tag/3.4.2
https://visualstudio.microsoft.com/ko/vs/whatsnew/
2. cmake 설치
3. openCV , openCV contrib 압축풀기
build 폴더도 새폴더 만들기로 만들어준다
빌드 결과를 넣는 폴더로 사용 예정
4. cmake GUI 실행
where is the source code : opencv-3.4.2 의 CMakeLists.txt가 있는 폴더 선택
where to build the binaries : build 폴더 선택 (새폴더 만들기로 만듦)
5. 좌측하단 Configure 버튼 클릭
6. 빌드하기 위한 Configure 설정 6. 빌드하기위한 Configure 설정 ..
ㄴ configure 가 끝나면 어떤 언어에서 사용할 수 있는 빌드가 가능한지 Report 가 콘솔창에 나오게 된다
ㄴ 여기선 자바가 목적이니 자바가 나오는지 꼭 확인 한다.
아래 콘솔창에 configuring done이 뜨면 된다.
Search 창에,
tests를 검색 후, test 항목 체크 해제.
extra를 검색 후, opencv extra module path에 아까 압축 풀어두었던 추가 모듈 path 기입
nonfree를 검색하고, opencv_enable_nonfree를 체크.
Ant 가 잡히지 않은거같으므로 Ant설치 후 설정을 해준다.
만약 Ant 를 설치하고 환경설정 까지 했으면, CMake 를 반드시 재실행 해야 Ant를 잡아서 빌드가 가능하다 .
Ant 신규 설치시 위에서 진행한걸 CMake 다시 실행하여 재진행 하고 Configure 까지 처리
BUILD_SHARED_LIBS는 체크해제 : (정적 라이브러리를 빌드 목적)
BUILD_WITH_STATIC_CRT도 체크해제 : (안하면 라이브러리 충돌발생)
BUILD_PACKAGE도 체크해제 : (안하면 빌드 매우 오래걸림)
이제는 설정이 완료되었으니 Generate 버튼을 클릭.
이제 cmake 빌드는 완료.
이것을 visual studio를 이용하여 다시한번 빌드.. (CPU 100%에 20-30분 예상)
7. Visual Studio Build
ㄴ cmake gui 하단 버튼중 활성화된 open project를 누른다.
ㄴ visual studio가 실행되며, 이제까지 빌드했던 프로젝트가 실행된다.
켜진 visual studio의 모드를 release x64로 하여, 프로젝트 탐색창에서 cmaketargets폴더 안의 install 프로젝트를 우클릭하여 빌드를 눌러 빌드한다.
그리고 이후 debug x64로 하여 다시한번 빌드를 한다.
약 20-30분 동안 처리 후 완료
8. ECLIPSE 에서 BUILD PATH 설정
예제실행 까지 확인 완료.
'Libraries > OpenCV' 카테고리의 다른 글
[Mac] NoWritableEnvsDirError: No writeable envs directories configured. (0) | 2023.04.09 |
---|