본문 바로가기

SURF/OpenCV

OpenCV3.0 + VisualStudio2013 설치

최근 opencv를 사용 안하다가... 다시보니 많이 바뀌었다.

opencv는 cmake를 이용하여 gpu (cuda), tbb, ipp 를 사용하여 성능을 가속시킬 수 있는 기능이 제공 되지만, 나는 사용하지 않기 때문에 gpu, tbb, ipp는 빼고 설치하였다.

OpenCV 는 http://opencv.org/downloads.html  에서 당운 받는다. 


opencv-3.0.0.exe 파일을 다운 받을 수 있는데, 설치파일이며 디렉토리를 지정해주면 자동으로 압축을 풀어준다. 나는 압축을 C:/opencv/opencv_3_0 폴더에 풀었다.


CMake는 http://www.cmake.org/cmake/resources/software.html  에서 다운 받는다. 

"Where is the source code :" 에는 위에서 압축을 풀어준 opencv의 소스코드 경로를 지정하고, "Where to build the binaries :"에는 새로 빌드할 디렉토리를 지정한다. 나는 기존의 본래 build폴더는 따로 old_build폴더로 이동하였다. 

CMake의 여러가지 체크박스는 Opencv 컴파일 옵션이다. 나는 TBB와 CUDA, IPP와 같은 하드웨어 가속기는 사용하지 않기 때문에 옵션에서 뺐다. 

옵션 설정을 하고 Config버튼을 누르면 다시 설정을 하는데, 이 때 CMake프로그램의 콘솔창에 에러가 발생하지 않아야 한다. 그럼으로 아래 그림처럼 Config버튼을 누르고 콘솔창을 꼭 확인할 것~!

주의사항으로... 새로 설정을 할 때에, BUILD_opencv_world항목 체크박스는 풀려있다. 원래 컴파일된 opencv라이브러리에는 opencv_world.lib파일이 있지만, 새로 라이브러리를 만들 때에는 opencv_world.lib파일이 생성되지 않는다.(생성하고 싶어서 체크하면 Configure버튼 누르고 나서 에러가 엄청 많이 발생함.)

그 다음에 Generate버튼을 누르면 소스코드가 C:/opencv/opencv_3_0/build 에 생성된다. 생성된 폴더를 보면 Visual Studio 프로젝트 파일인 OpenCV.sln파일이 생성되며, Visual studio를 실행시킨 후에 컴파일 하면 된다. 만약 컴파일 에러가 발생한다면 CMake에서 Configure가 정상적으로 완료되지 않았을 것이다.


다음으로...내가 만들고자 하는 Visual studio프로젝트를 생성한다. 프로젝트 설정은 아래와 같다. 

먼저 해더파일을 연결해야 한다. 하지만, 새로 생성한 build 폴더에는 사용할 해더파일이 없음으로 기존의 old_build 폴더에 있는 해더파일을 다시 build폴더에 카피했다. 새로 라이브러리를 생성해도 해더파일은 만들어 지지 않으니, 주의해야 한다. 


다음으로 lib파일을 연결해야 한다. 컴파일이 미리 된 opencv를 사용할 경우에는 opencv_ts300.lib와 opencv_world300.lib 두개만 연결하면 된다. 하지만, 앞에서 CMake설정에 BUILD_opencv_world를 체크하지 않았음으로, 라이브러리를 통합한 opencv_world300.lib를 사용할 수 없다. 결국 lib파일의 모든 파일을 연결해 주어야 한다. 

opencv_videostab300d.lib

opencv_videoio300d.lib

opencv_video300d.lib

opencv_ts300d.lib

opencv_superres300d.lib

opencv_stitching300d.lib

opencv_shape300d.lib

opencv_photo300d.lib

opencv_objdetect300d.lib

opencv_ml300d.lib

opencv_imgproc300d.lib

opencv_imgcodecs300d.lib

opencv_highgui300d.lib

opencv_hal300d.lib

opencv_flann300d.lib

opencv_features2d300d.lib

opencv_core300d.lib

opencv_calib3d300d.lib

이것으로 프로젝트 설정은 끝났다. 

마지막으로 컴퓨터 환경변수만 건들면 된다. 시스템 변수의 path에 아래와 같이 패스를 걸어준 후에 제부팅을 하면 끝난다. 

C:\ProgFi.......;C:\opencv\opencv_3_0\build\bin\Debug




http://darkpgmr.tistory.com/102  사이트를 참조하였다.

http://hyeok-shin.tistory.com/1   사이트를 참조하였다.

http://docs.opencv.org/3.0-beta/modules/videoio/doc/reading_and_writing_video.htmlps. 사이트에서 예제 가져옴 


3.0버전은 기존 버전에서 API가 많이 바뀐 것 같다. 젠장할~~