본문 바로가기
OPEN_CV : 영상처리/OpenCV 시작

OpenCV 2.4.6 + VS2012(비주얼스튜디오2012) 설치

by En.Lee 2013. 7. 12.
반응형

=======================================================

System Environment


OS : Window 7 - 64bit

Visual Studio : version 2012

Open CV : version 2.4.6

Cmake : version 2.8.11.2

=======================================================



1. OpenCV를 다운로드 합니다.  (exe 파일로, 실행을 하면 extract를 하여 : 폴더로 뱉어줍니다. )

http://sourceforge.net/projects/opencvlibrary/?source=dlp


2. Cmake를 다운로드 합니다 (Cmake 란, 각 플랫폼에 맞는 형식(확장자)로 meta file을 변형 시켜줌 - 편리함)

      http://www.cmake.org/ 


     2-1 . 설치후 실행(cmake-gui.exe)하면 창 안에 Browse를 입력하는 창이 뜹니다. 

    Where is the source code : openCV 압축 푼 폴더가 있는 곳을 지정

     Where to build the binaries : openCV에 지정 플랫폼에 종속성을 부여한 binary 파일을 output할 경로를 지정


     2-2. Configure버튼 클릭

     2-3. Specify the generator for this project (플랫폼에 맞는 옵션 선택) - 제 환경에서는  Visual Studio 11 Win64 선택

     2-4. 확인!

     2-5. 잠시후 붉은 색 바탕의 테이블이 보임, 그럴땐 다시 Configure버튼 클릭 (재생성)

     2-6. Generate 버튼 클릭



 ( 혹 빨간글씨가 떠서 진행이 안된다면 플랫폼 옵션을 해당 PC환경에 맞게 설정을 못한 것입니다. 그러니 해당 환경에 맞      
    게 다시 선택하시면 되요)



3. C:/cmake_binary_dir 에 있는 " INSTALL.sln" 파일을 실행합니다


3-1. [Visual Studio실행이 되었으면] Debug 모드로 전환 합니다. 

3-2. CmakeTargets에 INSTALL을 build(빌드) 합니다. (빌드후 오류가 없어야 합니다. 오류가 있다면 Cmake로 생성
       하는것부터 다시 시작해보세요. [항상 C드라이버 밑에 openCv와 cmake_dir가 존재해야합니다])

3-3. Release 모드로 한번더 Build 해줍니다.

3-4. 빌드가 끝났다면 Visual Studio를 종료하세요. 그런 후 C:/cmake_binary_dir폴더에 "install"폴더가 있을겁니다

3-5. install 폴더를 기존 "opencv"폴더에 붙여 넣기하세요 ( 기존 opencv안에 있던 것들은 지우셔도 됩니다, 안지우
       셔도 상관은 없구요 :) )

3-6. C:/cmake_binary_dir폴더를 지웁니다( 안지우셔도 되요 - 혹시 다시 install 폴더를 만들수 있으니 남겨두셔도됩니다)


4. 이제 library source 폴더는 다 만들었습니다. " 환경설정"을 해볼까요?!

   컴퓨터(내컴퓨터) -> 시스템 속성 -> 고급설정 -> 환경변수 ->"환경변수 - Path"클릭 -> C:\OpenCV\install\bin 을
   추가해주세요



*여기서 잠깐! 

Cmake를 이용할대 Win64 옵션을 주게 되면 OpenCV폴더에서 64bit로 된 dll파일과 lib 파일로 opencv가 make file로 만들어 지게 됩니다. 하지만 현재 자신의 Visual Studio가 32bit에 컴파일러가 최적화 되었다면, 소스 실행시 에러가 발생하게 됩니다 


"x64 모듈 컴퓨터 종류 가 x86 대상 컴퓨터 종류 와 충돌 합니다" 

이런 오류가 나겠죠.


이럴 경우 해결하는 방법은 Cmake로 make file을 만들기전 openCV폴더에 build에 x86에 있는 lib와 bin 폴더를 make file로 만든 bin 과 lib에 덮어 씌어 주면 됩니다 (\opencv\build\x86\vc11) 


저같은 경우에 Visual Studio2012를 사용하기때문에 vc11로 했고 2010을 사용하신다면 vc9폴더에 있는 lib,bin폴더를 사용하시면 됩니다.




계속 이서 나가겠습니다.


5. 프로젝트 파일을 만들어 줍니다. : Console Application 에 빈 프로젝트로 생성을 합니다


6. 솔루션 탐색기에 "속성 관리자" 에서 Debug|win32 -> 마우스 오른쪽 클릭 -> 속성 에 들어갑니다

먼저 


* C/C++ -> 일반(General) -> 추가포함 디렉토리 (Additional Include Directories)에서 <편집>을 눌릅니다

       거기에   C:\opencv\install\include\opencv

                   C:\opencv\install\include  

      를 추가 시켜줍니다. 


* 링커 -> 일반 -> 추가 라이브러리 디렉토리 에서 <편집>을 누릅니다.

       거기에 C:\opencv\install\lib

       를 추가 시켜줍니다.


* 링커 -> 입력 -> 추가 종속성(Additional Dependencies)에서 <편집>을 누릅니다.

opencv_calib3d246d.lib


opencv_contrib246d.lib
opencv_core246d.lib
opencv_features2d246d.lib
opencv_flann246d.lib
opencv_gpu246d.lib
opencv_highgui246d.lib
opencv_imgproc246d.lib
opencv_legacy246d.lib
opencv_ml246d.lib
opencv_nonfree246d.lib
opencv_objdetect246d.lib
opencv_photo246d.lib
opencv_stitching246d.lib
opencv_ts246d.lib
opencv_video246d.lib
opencv_videostab246d.lib

을 추가 시켜줍니다.


7. 솔루션 탐색기에 "속성 관리자" 에서 Release|win32 -> 마우스 오른쪽 클릭 -> 속성 에 들어갑니다

먼저 


* C/C++ -> 일반(General) -> 추가포함 디렉토리 (Additional Include Directories)에서 <편집>을 눌릅니다

       거기에   C:\opencv\install\include\opencv

                   C:\opencv\install\include  

      를 추가 시켜줍니다. 


* 링커 -> 일반 -> 추가 라이브러리 디렉토리 에서 <편집>을 누릅니다.

       거기에 C:\opencv\install\lib

       를 추가 시켜줍니다.


* 링커 -> 입력 -> 추가 종속성(Additional Dependencies)에서 <편집>을 누릅니다.

opencv_calib3d246.lib
opencv_contrib246.lib
opencv_core246.lib
opencv_features2d246.lib
opencv_flann246.lib
opencv_gpu246.lib
opencv_highgui246.lib
opencv_imgproc246.lib
opencv_legacy246.lib
opencv_ml246.lib
opencv_nonfree246.lib
opencv_objdetect246.lib
opencv_photo246.lib
opencv_stitching246.lib
opencv_ts246.lib
opencv_video246.lib
opencv_videostab246.lib

을 추가 시켜줍니다.


* 여기서 참고!

뒤에 246같은 경우에는 버전을 표시합니다. 만약 opencv 2.4.5 버전을 받았다면 라이브러리 파일 이름은 245로 되어있을 겁니다. 

그리고 한가지더,   파일 뒤에 'd' 로 끝나는것은 Debug 전용 라이브러리 입니다 :)


이렇게 해주면 프로젝트 환경설정이 끝나게 됩니다.


다음에 또다른 OpenCV 소스 프로젝트를 생성하게 되면 이 Release 및 Debug 설정을 그대로 붙여넣기 하면 똑같아 집니다 ~. 이것은 다른 포스팅을 참고해주세요~


ㄷㅏ음 포스팅에는 이렇게 설정한 프로젝트 간단한 예제코드를 돌려보겠습니다.

반응형