"해당 내용은 Visual Studio 2010 Express를 대상으로 했으나 2010 이상 버전에 모두 동일하게 적용가능합니다.

 돈도 없고 PC도 구리고 ... 쿨럭 ... 무료에다 상대적으로 가벼운 2010을 선택했습니다."

 

□ OpenCV Visual Studio 2010  Express 설치 가이드

- 설치에 앞서 Visual Studio 2010 Express 버전은 이미 설치가 되어 있어야 합니다.

- OpenCV 다운로드

http://opencv.org/downloads.html

 

- OpenCV for Windows 선택~

  이중 Alpha나 Beta는 불안정할 수 있으므로 Lastest 버전 중 정식 배포판을 선택~

  ( 현재 opencv-2.4.10 이 최신이므로 여기에서는 2.4.10 버전으로 진행합니다. )

 

다운로드 시 약 350MB 정도 크기가 됩니다.

참고로 위 사이트 opencv.org는 항상 기억하고 계세요. 레퍼런스나 가이드 이용을 위해 수시로 드나들어야 할 겁니다.

 

□ OpenCV 설치 (OpenCV Setup)

설치는 참 간단합니다. 클릭 몇 번으로 가능하죠.

2.4.10에서는 Setup과 동시에 아래처럼 생성할 디렉토리를 물어봅니다.

oencv 디렉토리는 자동으로 생성되므로 설치할 디렉토리만 지정하면 됩니다.


1. 설치 시작 ... 압축 풀기

 

 

 

2. 진행화면 ... ^^;

 

 

 

 

□ Path 설정 ( Windows Path Setting )

진행 후 반드시 Path 지정을 하는 것을 권합니다.

OpenCV를 사용하며 필요한 dll을 매번 실행파일이 있는 디렉토리로 복사할 수는 없겠지요.

아래부터는 Path 설정에 대한 지리한 화면들입니다.


3. Path 설정

 

 

 

 

 

 

 

Path 설정시 주의사항!!! 이 있는데요.


PATH 세팅. x64가 아닌 x86선택~


아직까지는 32bit, 64bit 운영체제 사용을 떠나서 x86으로 사용해야 자잘한 버그가 없습니다.

OpenCV가 설치된 디렉토리를 찾아서 아래처럼


C:\...\opencv\build\x86\vc10\bin


bin 디렉토리까지 정확히 Path 경로로 정해 주어야 합니다.

아래는 Path 설정 창의 예시 그림입니다. 변수값 뒤에 추가해 주세요.


4. Path 설정시 주의사항과 경로 지정

 

 

 

□ Compiler 환경 구성 ( OpenCV 개발 환경 구성 )

OpenCV 개발환경 구성과 제대로 설치되었는지 확인을 위해 솔루션과 Project를 하나 생성합니다.

다음에 아래와 같이 솔루션 탐색기에서 해당 프로젝트명에서 마우스 오른쪽 메뉴의 속성을 지정합니다.

( 솔루션 탐색기가 안보인다고요? GG ^^; 상단 보기 메뉴에서 솔루션 탐색기를 나타나게 할 수 있습니다. )


5. Compiler 환경 구성

 

 

 

C/C++ 환경 구성도 수행합니다.

속성 페이지에서

C/C++ - 일반  - 추가 포함 디렉토리 ( C/C++  - General  - Additional Include directory )

를 선택합니다.

추가 포함 디렉토리.. 번역이 참 다가오지 않습니다. 표준 include 디렉토링 외에 

지정이 필요한 별도 include 파일 위치를 지정하는  것인데, OpenCV include 파일들의 위치를 지정해 주어야   합니다.

UNIX 등 Console 환경에서 C 컴파일러 -I 옵션과 같은 역할을 해줍니다.


6. C/C++ 환경 구성

 

 

 

추가 버튼을 누르고 openCV가 설치된 디엑토리의 bulid/include 디렉토리를 정해 주세요.

아래처럼 

C:\...\opencv\build\include 


OpenCV가 설치된 디렉토리 내에서 include까지 정확히 선택해 주세요.


7. include 환경 구성 

 

 

 

 

Linker 환경 구성 ( OpenCV 개발 환경 구성 )


컴파일러 환경 구성이 끝나면 링커 환경 구성을 합니다.

우선 사용할 라이브러리들이 위치하는 디렉토리 정보부터 설정합니다.

링커 - 일반 - 추가 라이브러리


의미는 include의 경우와 동일합니다. 실제 라이브러리 위치를 지정해서 사용할 수 있도록 해주는 것이죠.

단, 위치를 알려주는 것으로 필요한 실제 라이브러리의 연결은 추가 종속성에서 설정해 주어야 합니다.

2010 이후 설정이 필요한 것으로 2008 이하 버전에서는 자동으로 설정되던 부분입니다.


8. Linker 환경 구성

 

 

 

include에서와 같이 추가버튼을 누르고 openCV 설치 디렉토리 밑에 build/x86/vc10\lib 디렉토리를 선택합니다.

역시 OpenCV가 설치된 디렉토리에서 lib까지 선택해 줍니다.


C:\...\opencv\build\x86\vc10\lib


9. 추가 라이브러리 디렉토리 환경 구성

 

 

 

실제 중요한 추가 종속성 설정입니다.

사용되는 외부 라이브러리들을 지정하는 곳으로 실제 사용하려는 라이브러리들을 지정합니다.

추가 종속성에서 지정된 라이브러리들은 추가 라이브러리 디렉토리에서 설정된 디렉토리 밑에 존재하는 라이브러리들입니다.

둘은 일치하여야 합니다.

2008 이하 버전에서는 추가 종속성을 지정하면 추가 라이브러리 디렉토리 설정은 필요없었습니다.

2010 버전 이후 두 가지를 모두 정확히 설정해 주도록 변경되었네요.


10. 추가 종속성 환경 구성

 

 

 

OpenCV 이용을 위해 필요한 추가 라이브러리들은

C:\...\opencv\build\x86\vc10\lib 에서 파일명 끝에 d가 붙은 것들

입니다.

단, 추가 등록해야하는 라이브러리는 OpenCV에서는 버전별로 이름이 다 틀립니다.


한 예로, calib3d 라이브러리의 경우  

2.4.09 : opencv_calib3d2409d.lib

2.4.10 : opencv_calib3d2410d.lib


와 같이 이름이 버전명으로 붙어있는 것을 볼 수 있습니다. 따라서, 아래와 같이 해당 디렉토리에서 확인 작업이 필요합니다.

 

참고) 명령프롬프트에서 penCV 라이브러리 디렉토리 이동 후 d로 끝나는 라이브러리 추출 ^^;

dir *d.lib



11. 추가 라이브러리 리스트 확인

 

 

 

해당 명령으로 구해진 라이브러리 목록을 추가합니다.

OpenCV 2.4.10 버전의 경우 아래와 같습니다. 버전이 바뀌지 않는 한 기록했다가 늘 복사해서 쓰면 됩니다.

 

opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib

 

11. 추가 종속성 환경 구성 상세

 

 

 

 

정상적으로 끝났다면 이제 테스트를 해 봅니다.


 

#include <stdio.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>


int main() {
    IplImage * img = cvLoadImage( "D:\\Temp\\test..png" );

    cvShowImage( "Test Image!", img );
    cvWaitKey( 0 );
    cvReleaseImage( &img );
    cvDestroyAllWindows();

    return 0;
}
 

 

 

 

  

Ctrl + F5 를 눌러 실행시키면 아래와 같이 결과를 볼 수 있습니다. 물론 이미지가 경로에 제대로 있어야 겠죠.

 

 

 

 

□ 기타

참고로, 환경 구성이 잘못 되었을 경우  빌드 시 링크 수행 시점에서 반드시 Error LINK2019 발생합니다.

(특히, 종송성과 라이브러리 디렉토리가 서로 다를 경우)

 

예) error LNK2019: "int __cdecl cv::_interlockedExchangeAdd(int *,int) 등

 

컴파일 시 위와 유사한 오류 메세지가 나오면 다시 한번 환경 설정을 확인하시기 바랍니다.

 

□ 참고

- OPENCV.ORG How To : Click

 

 

반응형

+ Recent posts