Image Processing

OpenCV2.4.6 설치.

Ohjeonghak 2013. 10. 29. 01:45
반응형

설치 한 작업 환경

os : windows 8 (64bit)

컴파일러 : visual studio2012

 

설치 과정

 

1. OpenCV와 CMake 다운받기.

 

OpenCV

 http://opencv.org/

CMake

 http://www.cmake.org/

 

 

2. OpenCV-2.4.6.0.exe 설치 하기.

 

설치할 위치를 정하고 Extract를 눌러준다. 필자는 로컬디스크 (C:\)에 설치 했다.

설치가 다되면 "c:\" 에 opencv 디렉토리가 생성되며 파일들이 생긴다.

 

 

3. cmake-2.8.12-win32-x86.exe 설치 하기.

 

설치할때 Add CMake to the system PATH for all users 를 선택하고 설치한다.

 

 

4. CMake 실행하기. (CMake는 각 플랫폼에 맞는 형식(확장자)로 meta file을 변형시켜준다고 함)

 

"Where is the source code:" 항목은 아까 설치한 opencv 디렉토리를 "Browse Source..." 버튼을 눌러서 지정해 주면 된다.

"Where to build the binaries:" 항목은 OpenCV에 지정 플랫폼에 종속성을 부여한 binary 파일을  output 할 경로를 지정해 주는 디렉토리로 필자는 "C:\" 에 "OpenCV2.4.6" 폴더를 만들어서 지정해줬다. 마찬가지로 옆의

"Browse Build..." 버튼을 누르면 된다. 

 

 그리고 아래에 Configure 버튼을 눌러준다.

 

 

 

필자는 visual studio2012 버전이기 때문에 "Visual Studio 11" 를 선택했다.

아닌경우는 아래의 표대로 각각의 환경에 맞게 선택하고 하면 될 것 같다.

 visual studio 2010 인 경우

 Visual Studio 10

 visual studio 2012 인 경우

 Visual Studio 11

  

 

 

잠시 후 기다리면 완료 된 후 아래 그림처럼 붉은색으로 표시되어 뜰 것이다. 그럼 다시 "Configure"버튼을 눌러준다.

 

 

모두 다 되었다면 아래 그림과 같이 붉은색으로 표시된 목록이 없어졌을 것이다. 그럼 이번엔 "Generate"버튼을 눌러준다.

 

 

 5. 앞의 과정에서 생성한 OpenCV2.4.6 디렉토리 아래에 있는 "OpenCV.sln" 파일을 실행한다. 그리고

솔루션 탐색기에서 CMakeTargets 아래 INSTALL 을 마우스 오른쪽 버튼을 클릭해서 빌드해 준다.

그림과 같이 Debug모드와 Relese 모드 둘다 컴파일을 해준다.

 

 

 

 

6. 환경변수 추가 하기.

내컴퓨터 속성에서 좌측에 "고급 시스템 설정"을 누른다. 그리고 시스템 속성 창이 뜨면 "환경변수" 버튼을 누른다.

그리고 아래 그림과 같이 path에 "C:\OpenCV2.4.6\install\bin;" 추가 해 준다.

 

 

7. dll 추가하고 프로젝트 속성 만들기

 

"보기 > 속성관리자" 를 클릭한다.

 

 

그리고 프로젝트의 Debug에는 OpenCV_Debug, Relese에는 OpenCV_Relese 속성시트를 각각 만들어준다.

 

 

OpenCV_Debug 와 OpenCV_Relese 속성시트에 마우스 우측 버튼을 클릭하고 "속성"를 선택한다.

 

 

그리고 아래 사진과 같이 OpenCV_Debug 와 OpenCV_Relese 속성 페이지 창의 내용을 추가 한다.

"C/C++ > 일반 > 추가 포함 디렉터리" 내용을 편집하여 사진과 같이 2개의 디렉토리를 추가 해 준다.

 

 

그리고 "링커 > 일반 > 추가 라이브러리 디렉터리"에 아래 사진처럼 라이브러리 디렉터리를 추가 해 준다. 

 

 

다음이로 중요한 부분이다. Debug 와 Relese에 dll을 추가 해줄거다. 하지만 Debug와 Relese는 dll이 서로 다르다.

"링커 > 입력 > 추가 종속성" 항목에 dll을 추가 해 준다.

 

 Debug 인 경우 아래의 dll을 추가 해 주면 된다.

Relese인 경우 아래의 dll을 추가 해 주면 된다. 

 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

 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

 

 

 

8. OpenCV 웹캠 영상 띄우기 테스트 소스 (Esc를 누르면 종료된다.)

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

void main()
{
	IplImage* image = 0; ⁄⁄openCV에서 사용되는 자료형이다.

	CvCapture* capture = cvCaptureFromCAM(0); ⁄⁄현재 인식된 웹캠을 찾고,
	cvNamedWindow( "OpenCvCamtest", 0 ); ⁄⁄ 화면을 그려줄 윈도우를 생성한다.

	cvResizeWindow( "OpenCvCamtest", 640, 480 ); ⁄⁄ 사이즈를 조절한다.(lpIImage를 할당하면서도 조절가능)

	while(1) {
		cvGrabFrame( capture ); 
		image = cvRetrieveFrame( capture ); ⁄⁄ 현재 인식된 장면을 받아오고image에 넣는다.

		cvShowImage( "OpenCvCamtest", image ); ⁄⁄ image에 있는 장면을 윈도우에 그린다.

		if( cvWaitKey(10) >= 0 ) ⁄⁄ 이게 가장 중요한데 이 WaitKey 함수가 없으면 아무 것도 안그린다.
			break;
	}

	cvReleaseCapture( &capture ); ⁄⁄ 할당받았던 웹캠을 해제하고,
	cvDestroyWindow( "OpenCvCamtest" ); ⁄⁄ 윈도우를 종료한다. 
}

반응형

'Image Processing' 카테고리의 다른 글

Linux에서 OpenCV 자동설치 스크립트 제공  (0) 2014.06.24