Search
Duplicate

OpenCV C++/ Window에서 OpenCV 설치 및 Visual Studio에 세팅

OpenCV 설치

다음 경로에서 OpenCV 파일을 다운 받는다.
다운 받은 exe 파일은 압축 파일이라 실행하면 지정된 위치에 'opencv'라는 폴더명으로 압축을 해제한다.
opencv 폴더 채로 원하는 경로에 옮겨서 사용한다. (내 경우에는 C 드라이브 루트에 옮겨서 최종 C:\opencv 경로가 됨)

Window 환경변수 등록

C++ 프로젝트를 새로 생성할 때마다 OpenCV를 세팅해 주는게 꽤 번거로운데, Window 환경변수에 경로를 등록해 두면 좀 더 간편하게 세팅해 줄 수 있다.
Window에서 환경 변수 편집 화면에 들어간다.
사용자 변수 or 시스템 변수에 새로 만들기를 선택하고, OpenCV가 설치된 경로를 대입한다.
Visual Studio에서 OpenCV 환경변수를 사용할 때 공통적으로 사용되는 경로가 '(OpenCV 설치 경로)\Build' 이기 때문에 build까지 포함한 경로를 변수에 등록 한다.
사용자 변수 or 시스템 변수의 Path를 편집하고, OpenCV의 bin 폴더를 추가한다.
앞서 OPENCV_DIR 경로를 추가해 뒀기 때문에 Path에도 '%OPENCV_DIR%\x64\vc15\bin'과 같이 경로를 입력할 수 있다.
환경변수에 등록한 것이 반영이 되지 않았다면 윈도우를 재시작하거나 CMD에서 set을 입력하면 반영된다.

Visual Studio 세팅

Visual Studio에서 외부 라이브러리를 세팅할 때는 다음과 같이 프로젝트 속성을 설정해 줘야 한다. 우선 속성을 재사용할 수 있도록 props 파일을 만들어서 설정값을 입력하자.
1.
속성을 재사용하기 위한 props 파일 생성
Visual Studio에서 보기 → 다른 창 → 속성 관리자를 선택해서 속성창을 연다.
속성을 추가하려는 프로젝트에 새 프로젝트 속성 시트 추가를 선택한다.
속성 시트를 선택하고 버전을 포함한 정보를 사용하여 이름을 정한다.
TensorRT는 Debug, Release 구분이 없으므로 Debug에 하나 만들고, Release에서는 기존 속성 시트 추가를 해서 Debug의 속성 시트를 사용하도록 한다.
속성 파일을 사용할 때는 프로젝트의 속성의 같은 속성에 부모 또는 프로젝트 기본값에서 상속을 체크하여 상속된 값에 원하는 속성이 있는지 확인해야 한다.
이렇게 추가한 속성은 저장한 뒤 이후 같은 속성을 사용하는 다른 프로젝트에서 불러와서 사용할 수 있다.
2.
헤더 파일 디렉터리 입력
생성한 속성 시트를 더블 클릭 → C/C++ → 일반 → 추가 포함 디렉터리에 아래의 OpenCV의 헤더파일 경로 추가
$(OPENCV_DIR)\include
3.
라이브러리 파일 디렉터리 입력
생성한 속성 시트를 더블 클릭 → 링커 → 일반 → 추가 라이브러리 디렉터리에 아래의 OpenCV의 라이브러리 폴더 경로 추가
$(OPENCV_DIR)\x64\vc15\lib
4.
라이브러리 파일 입력
생성한 속성 시트를 더블 클릭 → 링커 → 입력 → 추가 종속성에 아래의 OpenCV의 라이브러리 파일 추가
Debug 버전에서는 opencv_world(버전)d.lib
Release 버전에서는 opencv_world(버전).lib
문제 없이 위 과정을 마쳤다면 C++에서 #include 할 때 OpenCV의 경로가 보일 것이다.