현재 배포되는 최신 버전의 OpenCV 2.3.1은 Visual C++ 2008과 2010 버전에 대해서만 바이너리 빌드를 제공 하고 있다.
2005에서 사용을 하려면 Visual C++ 2008 버전을 사용하거나 2005 버전으로 직접 컴파일 해야 한다.
직접 컴파일 하는 방법은 어렵지 않으며 아래 글을 참고하여 만들면 된다.

2010/10/17 - [Dev Story] - OpenCV 2.1 + TBB 를 Visual Studio 2010 에서 컴파일하기

먼저 OpenCV 2.3.1 버전을 테스트하기 위해 MFC Dialog 기반 프로젝트를 만들고 프로젝트 폴더에 OpenCV 2.3.1 패키지 않에 포함되어 있는 include 폴더(\build\include)와 직접 만든 lib 파일 또는 패키지 안에 있는 Visual C++ 2008 버전 용 라이브러리 파일(\build\x86\vc9\lib)들을 Project의 opencv 폴더에 복사해 아래 이미지와 같은 구조로 만들 었다.

마지막으로 프로젝트 루트 폴더에 패키지에 포함되어 있는 (\build\x86\vc9\bin) DLL 파일 이나 직접 만든 DLL 파일들을 복사해 둔다.
opencv_calib3d231.dll
opencv_contrib231.dll
opencv_core231.dll
opencv_features2d231.dll
opencv_ffmpeg.dll
opencv_flann231.dll
opencv_gpu231.dll
opencv_highgui231.dll
opencv_imgproc231.dll
opencv_legacy231.dll
opencv_ml231.dll
opencv_objdetect231.dll
opencv_ts231.dll
opencv_video231.dll
윈도우 시스템 경로에 두는 것도 한 방법이지만 프로그램을 배포하거나 프로젝트를 이리저리 옮기는 겨우 다시 복사를 해야하는 불편함이 있는 기본적으로 프로젝트 경로에 두고 사용한다.

디버그용 라이브러리와 DLL을 사용할 경우 메모리 누수 문제가 있어 테스트 프로젝트에는 릴리즈용만 사용하였다.
Debug 모드와 Release 모두 동일하게 아래와 같이 설정을 한다.

먼저  추가 포함 디릭토리에 프로젝트 하위로 복사한 include 폴더(.\opencv\include)를 지정한다.

그리고 링커 메뉴에서 추가 포함 라이브러리 폴더 역시 라이브러리를 복사해 둔 경로(.\opencv\lib)를 지정한다.

그리고 추가 라이브러리 파일 목록에 아래 파일들을 입력 한다.
opencv_calib3d231.lib
opencv_contrib231.lib
opencv_core231.lib
opencv_features2d231.lib
opencv_flann231.lib
opencv_gpu231.lib
opencv_haartraining_engine.lib
opencv_highgui231.lib
opencv_imgproc231.lib
opencv_legacy231.lib
opencv_ml231.lib
opencv_objdetect231.lib
opencv_ts231.lib
opencv_video231.lib

처음부터 모든 파일이 필요한 것은 아니고 필요한 기능에 따라 사용하지 않는 파일들도 있지만 모든 기능을 테스트해 보기 위해서는 모두 입력을 해 두는 것이 좋을 것 같다.

프로젝트 설정은 모두 끝났고 아래 코드는 간단하게 OpenCV 2.3.1 버전을 사용하는 예이다.


프로젝트를 실행하고 메인 다이얼로그의 버튼을 누르면 이미지 선택 대화상자가 활성화 되고 이미지를 선택하면 화면에 보여준다.

'Dev Story > Tips' 카테고리의 다른 글

[OpenCV] Plane Fitting using OpenCV  (0) 2011.11.21
[OpenCV] cvFitLine 사용하기  (0) 2011.11.21
[MFC] CDialogEx  (0) 2011.10.25
CPU Core수 확인 함수  (0) 2011.10.24
CStdioFile::WriteString 의 함정  (1) 2011.10.17
Posted by NeoDreamer
:
BLOG main image
사람의 발목을 잡는건 '절망'이 아니라 '체념'이고 앞으로 나아가게 하는건 '희망'이 아니라 '의지'다. - 암스 중에서 - by NeoDreamer

공지사항

카테고리

전체보기 (793)
Life Story (1)
Thinking (2)
Nothing (5)
---------------* (0)
Dev Story (701)
Com. Story (80)
IT Story (1)
---------------+ (0)
Etc (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :
05-04 00:01