본문 바로가기

Programing/OpenCV

Visual studio 2013에서 OpenCV 설정하기

  • 본 글은 비 전문가의 기록물로서 내용상의 문제가 있을 수 있습니다.
  • 본 글은 정보의 공유의 목적으로 작성 되었으며 출처와 함께 공유되길 희망합니다.

1. OpenCV download

   

OpenCV 설치 파일은 홈페이지(http://opencv.org)에서 받아볼 수 있다. 최신 파일을 받고 싶다면 첫 화면 우측의 LATEST의 "OpenCV for Windows"를 통해 받을 수 있으며, 이전 버전을 받고 싶다면 상단의 "DOWNLOAD"를 통해 받을 수 있다.

   

   

이 글이 작성되는 시점에서의 최신 버전은 2.4.8이다. 다운받은 파일인 opencv-2.4.8.exe를 더블클릭하여 경로를 지정하면 "build", "source"를 얻을 수 있다.

   

   

이 중 우리에게 필요한 것은 "build"에 있는 것들이다. 만약 OpenCV의 내부 코드를 보고 싶다면 "source"를 둘러보면 되겠지만, 워낙 전처리 명령어(#define)이 많아 이 글에 도움을 받을 '초심자'분들에게는 큰 도움이 되지 않을 것이라 조심스럽게 생각해 본다.

   

1. 1 폴더 정리

   

"build" 폴더를 열어보면 아래 그림과 같은 항목들이 보일 것이다. 이 글은 visual studio에서의 설정을 위한 글이기 때문에 java, python은 필요하지 않다. 우리에게 필요한 "include", "x86", "x64"만을 남기고 모두 지워주자.

   

   

"x86"과 "x64"를 들어가 보면 visual studio 버전에 따른 폴더가 나뉘어 있다. 이 글은 visual studio 2013을 대상으로 작성하였기 때문에 이전 버전에 해당하는 "vc10", "vc11"은 필요가 없다. 따라서 "vc12" 안에 들어있는 파일들을 상위 폴더로 옮기고 모든 폴더들을 지워준다. 만약 이전 버전을 사용하는 독자라면 자신의 버전에 맞는 폴더 내 파일들을 복사하면 되며, 다양한 버전을 사용하는 독자는 이 구조를 그대로 유지하여도 가능하다.

   

   

   

이 과정들은 이후에 진행 될 windows의 path 설정을 하는데 좀더 편하기 위해서 진행하는 과정이다. 따라서 자신만의 폴더 정리 방법이 있다면 그 방법을 사용하여도 된다.

   

2. windows path 설정

   

이 과정은 "OpenCV KOREA"의 Ribo님의 글을 참고하였습니다.(링크)

   

다수의 인원과 함께 프로젝트를 협업 하거나, 다양한 PC에서 작업을 진행하는 경우 OpenCV 파일의 경로가 항상 같을 순 없다. 따라서 이러한 문제를 해결하기 위해 이 경로를 windows의 환경 변수에 등록하여야 한다.

   

"시스템 속성"의 "환경 변수"에 path를 등록 하여야 한다. Windows 7에서는 "내 컴퓨터" 우 클릭 "속성" "고급 시스템 설정", Windows 8에서는 "win+x" "시스템" "고급 시스템 설정"을 통해 접근할 수 있다.

   

"환경 변수"를 클릭하자. 위에는 사용자에만 적용되는 내역이고, 아래는 모든 유저(시스템)에 적용된다. 취향에 맞게 선택하여 "새로 만들기"를 누르자.

 

   

변수를 등록하는 과정이다. 이름은 각자 정하고, 변수 값을 opencv 파일이 위치한 루트 경로를 정하자. 여기서 주의할 것은 경로의 마지막에 "\"을 꼭 넣어야 한다. 이 과정을 통해 이후 windows에서는 매크로처럼 '변수 이름' 대신 '변수 값'으로 처리하게 된다.

   

   

Visual studio의 설정에서는 임의의 위치의 .dll파일을 설정할 수 없기 때문에 opencv의 .dll파일의 위치를 windows system path에 추가하여야 한다. "환경 변수"의 "시스템 변수" 중 "path"에 경로를 추가하자.

   

   

"Path"를 선택하고 "편집"을 눌러서 추가한다. 각 항목별 구분은 세미콜론" ; "으로 함을 유의하자.

$(OPENCVROOT)X64\bin

$(OPENCVROOT)X86\bin

   

3. Visual Studio 설정

   

이후의 과정은 프로젝트에 OpenCV를 적용할 경우 매번 반복해야 하는 과정이다.

   

먼저 임의의 프로젝트를 하나 생성하자. "메뉴" "프로젝트(P)" "속성"이나 "속성 관리자" "프로젝트" 우 클릭 속성을 통해 프로젝트의 속성 창으로 들어가자.

   

   

   

이제 앞서 열심히 했던 환경 변수를 통해 opencv의 경로를 프로젝트에 설정하자.

   

3. 1 include

   

프로젝트의 속성에서 "구성 속성" C/C++ 일반 탭에 "추가 포함 디렉터리"에 opencv의 "include" 폴더의 경로를 지정한다.

   

   

Opencv의 root 경로는 환경 변수를 통해 "OPENCVROOT"라고 정의하였다. 이를 활용하자.

   

$(OPENCVROOT)include

$(OPENCVROOT)include\opencv

   

3. 2 lib

   

프로젝트의 속성에서 "구성 속성" "링커" "일반" 탭에 "추가 라이브러리 디렉터리"에 .lib 파일이 있는 경로를 지정한다.

   

   

$(OPENCVROOT)x86\lib

$(OPENCVROOT)x64\lib

   

다음 링크할 .lib이름을 입력해 주어야 한다. "구성 속성" "링커" "입력" 탭에 추가 종속성에 사용할 .lib 파일의 이름을 입력한다.

   

   

이제 모든 과정이 완료 되었다. 지금까지 설명한 과정은 OpenCV 2.2 버전 이후부터 적용 가능하며 visual studio는 2008 버전 이후로 가능하다.

   

4. 마무리

   

지금까지 visual studio 2013에서 opencv를 사용하기 위한 설정 과정에 대하여 설명 하였다. opencv를 재설치 하는 과정에서 매번 검색을 하면서 초보 개발자인 필자에겐 자세한 과정이 조금씩 생략된 글들에 아쉬움이 많았다. 나와 같은 처지에 처한 많은 '초심자'분들에게 도움이 되었으면 한다.

'Programing > OpenCV' 카테고리의 다른 글

cvCaptureFromFile의 반환 값이 계속해서 0인 문제  (2) 2014.04.20