Cfile10.uf .1732E2564D131EB2097159

Visual Studio 2010에서 OpenCV 이용하기

제가 참여하고 있는 AR Study에서 IDE는 Visual Studio 2010(vs2010)을, SDK는 OpenCV 2.1를 이용하기로 결정하였습니다.

VS2010에서 OpenCV 2.1을 이용하는 방법에 대해서 알아보겠습니다.

먼저 OpenCV 2.1을 다운받습니다. VS2010을 이용할 예정이지만, VS2008용으로 미리 컴파일 된 바이너리를 사용하겠습니다.
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/OpenCV-2.1.0-win32-vs2008.exe/download

최신버전인 OpenCV 2.2를 사용하지 않는 이유는 OpenCV 라이브러리들의 이름이 다 바뀌었습니다. 저는 귀찮은게 젤 싫기 때문에 이름이 동일한 OpenCV 2.1을 사용하겠습니다.
OpenCV 2.2를 설치해 보면 Android라는 폴더가 보입니다. Android에서 OpenCV를 조금 더 쉽게 사용 할 수 있게 된 것 같은데, 일단 처음 OpenCV를 배우는 입장에서는 따라하면 바로바로 결과가 나오는게 좋기 때문에 일단 OpenCV 2.1로 진행합니다.

VS 2010과 OpenCV 2.1의 설치가 모두 완료됬다는 가정 하에 진행하겠습니다.

  1. VS 2010에서 [파일] -> 새로만들기 -> 프로젝트 를 선택합니다.
    Cfile10.uf .1732E2564D131EB2097159
  2. C++, Win32 콘솔 응용프로그램을 선택하고 프로젝트 이름 지정 후 확인을 눌러줍니다.
    Cfile8.uf .1434DC564D131F2104D3EE
  3. 그냥 바로 마침을 눌러 프로젝트 설정을 끝냅니다.
    Cfile29.uf .1430D3514D131F570DF326
  4. [프로젝트] -> [속성]을 선택합니다.
    Cfile8.uf .135D41394D131F8B4E3984
  5. VC++ 디렉토리를 선택합니다.
    Cfile27.uf .1423B7374D131FC3398977
  6. 다음과 같이 디렉토리를 지정합니다. Debug모드, Release모드 모두 적용
    포함 디렉터리 : C:\OpenCV2.1\include\opencv;
    라이브러리 디렉터리 : C:\OpenCV2.1\lib;
    소스 디렉터리 : C:\OpenCV2.1\src\cv; C:\OpenCV2.1\src\cvaux; C:\OpenCV2.1\src\cxcore; C:\OpenCV2.1\src\highgui; C:\OpenCV2.1\src\ml;
    Cfile3.uf .131F3B334D1320D71692BA
  7. [링커] -> [입력] -> [추가 종속성]에 관련된 lib 파일을 다음과 같이 추가하고 확인을 눌러 빠져나옵니다.
    Debug : cv210d.lib; cxcore210d.lib; highgui210d.lib;
    Release : cv210.lib; cxcore210.lib; highgui210.lib;
    Cfile10.uf .123B883C4D13214E0B95AC
  8. 다음의 그림파일을 프로젝트 디렉토리에 추가합니다.
    Cfile10.uf .131DA2334D1321871EF639
  9. 다음의 소스코드를 main함수가 있는 cpp파일에 넣습니다.
#include "stdafx.h"

#include <cv.h>

#include <cxcore.h>

#include <highgui.h>

int _tmain(int argc, _TCHAR* argv[]){

IplImage *img = cvLoadImage("funny-pictures-cat-goes-pew.jpg");

cvNamedWindow("Image:",1);

cvShowImage("Image:",img);

cvWaitKey();

cvDestroyWindow("Image:");

cvReleaseImage(&img);

return 0;

}

Cfile8.uf .133104384D132230370A9D

  1. 빌드 합니다.
    Cfile9.uf .20266C334D13226A075AF4
  2. 다음과 같은 화면이 나오면 성공!
    Cfile8.uf .1814B73F4D1325F8092EADcfile24.uf.1759FE4A4D15CA9F30813C.pdf

Similar Posts

  • RGB 컬러 공간 분리 – 메뉴 기반 구현

    이번에는 본격적으로 OpenCV를 사용하여 영상처리를 해 보겠습니다. 그 첫 단계로 메뉴기반 정지영상 처리를 해 볼 것이며, cvSplit함수를 사용하여 RGB 컬러공간을 분리하는 예제를 구현해 보겠습니다.   먼저 OpenCV 2.1 C API Reference에서 cvSplit함수를 찾아보면 다음과 같습니다. cvSplit함수는 다중 채널(Multi-channel)배열을 여러 개의 단일 채널(Single-channel) 배열로 분할하거나, 배열에서 단일 채널을 추출 할 수 있음을 알 수 있습니다. 또한,…

  • Cam 영상 출력해보기

    지금까지 VS2010과 OpenCV 2.1라이브러리를 이용한 MFC 프로그래밍 기초에 대해서 알아봤습니다. 우리가 하려고 하는 것이 동영상 처리이므로 이번 시간에는 Cam으로부터 영상을 받아와서 출력하는 방법에 대해서 알아보겠습니다. 먼저 새 프로젝트를 Win32 콘솔 응용 프로그램 형식으로 만들어 줍니다.   OpenCV 2.1 라이브러리를 사용하기 위한 각종 세팅은 당연히 해주셔야 겠죠? 자세한 내용은“Visual Studio 2010에서 OpenCV MFC 프로젝트 만들기(http://deios.kr/400)”를 참고하세요….

  • 정지영상 캡춰기능 구현

    이번 내용도 후딱 넘어가겠습니다. 이전 시간까지 Cam에서 영상을 받아와 Dialog로 뿌려주는 부분을 했었죠? 이번 시간에는 이 동영상의 스틸 컷(Still Cut)을 만들 수 있게 정지영상으로 캡춰하는 기능을 구현해 보도록 하겠습니다. 참고로 동영상으로 저장하고 싶다면 cvReleaseVideoWriter, cvWriteFrame, cvReleaseVideoWriter를 적절하게(?) 쓰시면 됩니다.   정지영상 캡춰기능은 정말 간단합니다. 버튼 하나 만들구요, 그 버튼을 누르면… 전에 만들었던 전역 함수 기억하시죠?…

  • Face Detect

    이번 시간은 MFC와 OpenCV의 기본 사용법 마지막 내용이 되겠습니다. Cam 영상을 Dialog에 뿌려주는 부분에서 기본 사용법이 끝났어야 하지만… 조금 아쉬운 관계로 더 진행해 봤죠… 저도 아직 초보단계지만, MFC와 OpenCV의 기본 사용법은 뭐 없습니다… MFC야… GUI프로그래밍을 위해서 그냥 쓴 것이고… OpenCV는 영상을 받아오고, 출력하는 부분만 하면 기본은 끝난거 아닌가요?   지금까지 “오픈소스 OpenCV를 이용한 컴퓨터 비전…

  • |

    2계층과 4계층의 오류제어, 흐름제어

    오류제어 및 흐름제어 기능은 계층 2와 4에도 있다. 이들의 차잇점을 쓰시오. 2계층과 4계층의 차이점.2계층은 서로 연결된 두 노드간의 제어이며, 4계층은 단대단 제어이다.따라서 4계층의 오류제어와 흐름제어는 단말과 네트워크를 포함한 제어 기술이다.2계층의 오류 제어는 오류제어를 담당한다. 4계층의 오류제어는 송신측과 수신측 단대단 오류 제어이다.2계층의 흐름제어는 역시 인접노드간의 흐름 제어이고, 4계층의 흐름제어는 단대단 흐름제어이다. 관련된 글: 고속 네트워크 프로토콜의…

3 Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다