2018년 5월 10일 목요일

opencv + contrib + cmake 설치 노트

opencv와 contrib 는 상당히 업데이트나, 안정성에 따라 설치방법등에 차이가 보이는것 같습니다.
네 다섯군대 블로그를 따라 시도했는데, 연이어 실패한뒤, 가장 최신자를 따라해서도 몇번의 실수끝에 성공했습니다.

그런이유료 VS17에서 Opencv 3.4.1 버전 기준 설치방법을 써 봅니다.

제가 가장 잘 참조한 블로그인 이곳도 꼭 한번 참조 해 주세요! 훨씬 더 정확한 설명이 있습니다.


우선 많은 블로그에서 강조가 안되어있던데, onepCv와 contrib의 버전은 동일해야 합니다.

https://opencv.org/releases.html
에서 3.4.1 버전을 source로 받습니다.
https://github.com/opencv/opencv_contrib/releases
에서 반드시 위의 버전과 동일한 3.4.1 을 받습니다.
CMake 를 받습니다. (이건 좋은 강의가 많으니 pass)

http://eigen.tuxfamily.org/index.php?title=Main_Page
에서 *선택적으로* eigen 패키지를 받습니다.
이 패키지는 계산을 편하게 해둔 패키지인데, 필수는 아니라 합니다.
남들이 해래서 일단 따라했습니다. 중간에 추가 하는것 보다, 나중에 빼는게 편하니깐(..)

이후 헌 폴더에 openCv와 contrib 폴더를 담고, output폴더도 하나 만들어 줍니다.
source code쪽은 opencv 폴더를, build the binaries쪽은 출력된 파일들을 담는곳 입니다.
그뒤, configure를 누르면, 위 처럼 빌드 IDE를 선택하는 창이 뜨고, 알맞는 IDE를 선택 한 후 finish를 누르면 opencv 라이브러리로 프로젝트를 만듭니다.


그럼 요로코롬 무섭게 빠랗게 칠해진 목록들이 뜨게 되는데,겁먹을 필요는 없습니다.
search창에 tests 를 검색


테스트 코드들을 만들것인가를 묻는가 본데, 지금 상황에서는 빌드 시간만 늘리기 때문에 그닥..

옵션인 eigen 활성화 여부인데, 안쓰면with_eigen을 비활성,
쓴다면 활성화 + path을 방금 받은 폴더로 제정의 합니다.

contrib패키지의 위치를 잡아줍니다.
이제 이상태로 다시configure를 하면

여기까지 별일 없으면, 아래 로그창에 configuration done이 뜰건데, 다른 문제가 생긴다면 이제 골 터집니다 구글링과 신의 가호가 있길 빠이빠이 짜이찌앤..
똑같은 환경에, 올바른 버전을, 올바른 path를 설정한다면 뜰일은 없을것 입니다.

 이건 블로그마다 상당히 다르던데, 3.4.1 버전에서는 체크하는것이 옳은것 같습니다.

체크후에 다시 configure를 합니다. 역시 별 탈 없다면, generate버튼이 활성화 된것이 보일건데요, 고놈을 클릭합니다.

이제 cmake파트는 끝이났습니다. 아까만든 output폴더에 가 보면 새로운 프로젝트가 생성되어 있는데, 고놈을 실행하거나, cmake에 open project를 누릅니다.



프로젝트의 솔루션 탐색기를 펴보면 뜨악 스럽게 뭔가 많이 생긴걸 볼 수 있는데,
CMakeTarget 폴더의 INSTALL을 찾습니다.
우클릭 - 빌드 를 누릅니다.

매우 길고 두려운 빌드 시간이 끝이나면, 성공이나 실패가 출력됩니다.
제가 겪은 실패의 경우에는, 대부분 CV_OVERRIDER 를 찾을수 없다는 에러가 대부분 이었습니다.
이 경우는, 앞서 설명 했지만, opencv와 contrib의 버전이 반드시 동일해야만 합니다.
매칭이 되지 않을시, 오류를 뿝을것 입니다.
이외에도 여기서 CMake 설정의 후폭풍이 쏟아져 나오는데, 경우에 따라 오류는 다양하고, 대부분 해결법은 답이 없는..

이제 debug/release 모두 빌드를 한뒤, output/install/ 의 경로들을 opencv라이브러리로 사용하면 됩니다.
voila

댓글 없음:

댓글 쓰기