구글


01-OpenCV Installation은 이렇게... ▶DIP & OpenCV

OpenCV를 설치하고 사용하는 개발 툴에 적용하기 위해서는 아래와 같은 파일 또는 요구사항이 필요로 한다...
참조 : http://opencv.willowgarage.com/wiki/InstallGuide

1. C/C++ 컴파일러 ( OpenCV is known to work with VS2005, VS2008 )
2. CMake 2.6 이후 버전
3. GCC4x가 포팅되어 있는 Linux, MacOSX, 기타 Unix-like한 시스템

나는 32bit WindowXP에 VS2005 C++ 컴파일을 이용할것이고 앞으로의 정리도 지금의 환경을 기준으로 정리한다. 시간이 되면 Linux에서도 한번 설치 하고 싶다...

물론 열심히 누군가는 개발하고 있겠지만 OpenCV가 Embedded용으로는 많이 사용되지 않는다.  이말은 그만큼 OpenCV가 CPU와 메모리를 많이 사용한다는 이야기가 될수 있다.. Document에는 언급이 없지만 개인적으로 CPU는 1.0GHz , RAM는 1G 이상을 사용했으면 한다.

참고로 Linux나 다른 Unix System에서 설치하기전 조건을 간단히 살펴보면

Extra Prerequisites (Linux/BSD/other Unix-like OSes)

  • pkg-config. It is used at the configuration stage and also simplifies the further use of OpenCV itself.
  • (Optional) gtk+ 2.x and the related packages (glib, gthread etc.).

    • This is the GUI toolkit of choice for highgui on OSes other than Windows and MacOSX.
  • (Optional) libjpeg, libtiff, libjasper, libpng and zlib. Install any of those with the associated

    • development packages (libjpeg-dev etc. on Debian/Ubuntu) to be able to read/write the corresponding image formats.
  • (Optional) ffmpeg, libgstreamer, libxine, unicap, libdc1394 2.x (or libdc1394 1.x + libraw1394).

    • You should have some/all of these packages installed (together with associated development packages) to add video capturing, video decoding and video encoding capabilities to highgui. The output of the cmake will show you, which of the packages have been detected and will be used in highgui. (Unable full video support with FFMPEG). For example, on Ubuntu 8.10 all the necessary ffmpeg files can be installed using the following command:

           sudo apt-get install libavformat-dev libswscale-dev

Linux에는 해 봐야 알겠지만 pkg-config만 있으면 기본적인 설치가 가능하다라고 나와있다... 하지만 gtk+2, libjpeg, libtiff 등과 같은 Graphic 관련 라이브러리가 설치 되어 있어야 GUI에 대한 처리가 가능할것 같다.

다시 본론으로...
XP + VS2005에 OpenCV에 촛점을 맞춰보자
설치 순서는 다음과 같다.

1. Window(32bit)용 OpenCV를 다운로드 한다
2. Window(32bit)용 CMake를 다운로드 한다.
3. CMake를 설치한다
4. OpenCV를 설치한다
5. CMake을 이용해 VS2005( 기타 Compiler )용 파일들을 생성한다.
6. 생성된 파일들을 VS2005에서 Compile한다
7. VS2005에 OpenCV에 관련된 lib와 Headfile을 포함시킨다
8. 간단한 Test 프로그램으로 설정 확인한다.

시작해 보자.

1. OpenCV2.0.0a-Win32.exe를 다운로드 한다 여기서 --> http://sourceforge.net/projects/opencvlibrary/
2. CMake-2.8.1-Win32-x86.exe를 다운로드 한다 여기서 -->http://www.cmake.org/cmake/resources/software.html

3. CMake를 설치한다.
다운로드한 cmake-2.8.1-win32-x86.exe를 클릭하자


CMake의 PATH를 자동으로 설정하도록 "Add CMake to system PATH for all user"를 선택하자
CMake Desktop Icon은 개인의 취향에 맞게.....

설치 경노도 개인 취향에 맞게 ( 난 기본 경로로 ....)

4. OpenCV를 설치한다
다운로드한 OpenCV-2.0.0a-win32.exe를 클릭한다.




CMake와 마찬가지로 PATH 잡아 주고


설치 경로 기억하고




main과 src를 포함한 Full로 설치




여기까지 끝났다면

5. CMake을 이용해 VS2005( 기타 Compiler )용 파일들을 생성한다.
먼저 설치된 CMake( cmake-gui )를 선택하고


아래와 같은 PopUp화면이 나오면 아래 순서대로 진행 한다.

1. Browse Source : OpenCV2.0이 설치된 경로
2. Browse Build : OpenCV2.0을 VS2005 환경에 맞게 Compile 할 위치
3. Configue : Compile에 필요한 설정값들을 자동 업데이트 해주고
4. Generate : 실제 Compile 담당

OpenCV2.0가 설치된 경로를 선택하고(기본 경로 C:/OpenCV2.0 ) Compile한 뒤 생성될 파일을 보관할 경로( 기본 경로 : C:/OpenCV2.0_make )결정한 뒤 Configure 버튼을 클릭하면 붉은 리스트가 전부 업데이트 되면서 밝은 색으로 변경된다.
그뒤 Generate 버튼을 클릭하면 파일 생성이 끝난다.

Configure를 눌렀을때 아래와 같은 Popup이 뜨는데 이는 어떤 Complier용 파일을 만들것인지 대한 물음이다...난 VS2005에서 작업할 예정이므로 VS 8 2005를 선택 했다. 만약 VS2008을 사용하는 분이라면 VS 9 2008을 선택 하기 바라고 다른 환경일 경우 맞는 Compiler를 선택하기 바란다.




이렇게 Generate을 하게 되면 C:/OpenCV2.0_make 디렉토리에 아래와 같이 VS2005에서 Compile할수 있는 파일들이 생성된다.


6. VS2005에서 OpenCV를 Compile한다
빌더된 디렉토리에 OpenCv.sln 를 VS2005으로 실행하고
Release 모드로 변경한뒤 빌드 메뉴에서 "ALL_BUID 다시 빌드"로 빌드한다.
만약 Compile이 성공적으로 끝나다면 C:/OpenCV2.0_make디렉토리에 "bin"과 "lib" 디렉토리가 새로 생성된것을 볼수 있을것이고

C:/OpenCV2.0_make/bin/release 디렉토리에 있는 모든 dll을 C:/OpenCV2.0/bin 디렉토리에 복사 하고
C:/OpenCV2.0_make/lib/release 디렉토리에 있는 모든 lib을 C:/OpenCV2.0/lib 디렉토리에 복사 하는데
파일들이 많으므로 주의 하자


여기까지 왔다면
7. VS2005에 OpenCV에 관련된 lib와 Headfile 경로를 설정 해 보자
이렇게 등록 시켜놓으면 프로젝트를 생성할때마다 별도의 경로를 설정할 필요가 없어진다.

주의 할것은 OpenCV2.0_make디렉토리가 아니라 반드시 OpenCV2.0 디렉토리 즉, OpenCV가 설치된 경로의 파일을 추가해 주어야 한다는것

VS2005의 도구(Tools) --> 옵션( Option )

먼저 Include 파일을 포함시키고 ( 나의 기준:   C:\OpenCV2.0\include\opencv )


lib 파일을 등록하고 ( 나의 기준:   C:\OpenCV2.0\lib )


여기까지다.. 여기까지 설치와 Test환경 구축이 끝났다면
실제 간단한 Test Programe를 만들어 보자...

8. 간단한 Test 프로그램으로 설정 확인
먼저 VS2005에 Dialog Base의 MFC를 하나 만든다..( 난 Test_OpenCV..로 )
뭐 없다.. Show Image 버튼을 누르면 Sample.bmp 이미지 하나 띄우는것이다


.cpp 파일에 필요한 파일을 포함 시키구 ( 난 Test_OpenCVDlg.cpp에 다가 )
// Test_OpenCVDlg.cpp : 구현 파일
//

#include "stdafx.h"
#include "Test_OpenCV.h"
#include "Test_OpenCVDlg.h"

#include <cv.h>
#include <highgui.h>


버튼 클릭시 처리 내용을 아래와 같이 코딩하면 끝...
API에 대한 설명은 나중에 하고..일단 이렇게 코딩해보자..

void CTest_OpenCVDlg::OnBnClickedButton1()
{
 IplImage * Image = NULL;
 
 char * ptrImageName = "Sample.bmp";
 char * ptrWindName = "MyFirst OpenCV Window";
 

 Image = cvLoadImage( ptrImageName,1);
 cvNamedWindow( ptrWindName, 1);
 cvShowImage( ptrWindName, Image);
 cvWaitKey( 0 );
 cvDestroyWindow(ptrWindName);

}

이렇게 하고 컴파일하면 당연히 링크 에러가 나오겠지?
프로젝트에 아래와 같이 cv200.lib, highgui200.lib 2개를 추가하자.

그리고 다시 컴파일.... 실행


된다....

이번 정리는 여기까지로 하고.. 다음부터 책의 내용을 본격적으로 정리해 보고자 한다...




덧글

댓글 입력 영역