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 

#include 

#include 

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

  • |

    고속 네트워크 프로토콜의 목적과 수행과정

    고속 네트워크 프로토콜중leaky bucket, flowspec, RSVP, policing, admission control 등의 유기적인 관계를 정확히 쓰시오(수행 과정, 목적 등) 과 모임을 위하여 술집을 예약하는 과정을 빗대어서 설명.Application은 Network에게 질적인 정보나 양적인 정보를 준다. 질적인 정보는 쉽게 명세가 가능하지만 양적인 정보는 쉽게 명세가 불가능하다. Application이 Network에게 주는 이러한 정보를 flowspec이라고 한다. flowspec은 흐름의 트래픽 특성(양적인 정보)을 묘사하는 부분과…

  • |

    고속 네트워크에서의 메모리 병목 현상

    메모리가 미래 통신에 있어서 병목 지점이 되는 이유를 설명하고 해결 방안을 제시하시오. 1) 메모리는 코드와 데이터를 함께 저장한다. 표현 계층이 개입한다면 메모리 연산이 증가하게 되어 병목 현상이 발생한다. -> 표현계층을 적게 사용한다.2) 각 계층 이동시 메모리 연산 증가. OSI-7-layer에서 각 계층 이동시 메모리 복사가 빈번하게 일어나게 된다. -> shared memory, page remapping, 계층 통합 처리3)…

  • Wavelet Transform

    cfile28.uf.1804194F4F95B41B178B7C.pdf 관련된 글: 고속 네트워크 프로토콜의 목적과 수행과정 OpenCV 파일 저장기능 구현 MFC – Cam 영상 출력해보기 모덜리스(Modeless) Dialog로 변환하기

  • AcroEdit에서 C/C++ Compile 하기…

    이제 슬슬 공부나 해볼까하고 마음먹던중;;; 그냥 갑자기 C를 하고 싶어졌습니다… 이제까지 하려고 하려고 해도… 귀찮아서 접어두었던 C 책 한권을 꺼내서;;; 첫장을 펼처보니 “Turbo C++”를 설치하라는 겁니다… 전 착한 학생이기 때문에(~ㅋ) 하라는데로 설치했죠;;; 설치하고 보니 이게 왼걸;;; 구석기시대에서나 볼수있는 인터페이스;;; ㄷㄷ;;; 그래서 부대안에 있을때 사용했던 AcroEdit과 연결하기로 마음먹었습니다… 열심히 컴파일러를 찾아 해매였는데…;;; 이게 왠걸;;; 도처히 못찾겠습니다.;;;…

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

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

3 Comments

답글 남기기

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