[2023-04-17] 6. OpenCV 구성 및 설치 + 프로그램 개발 환경 설정
OpenCV 구성
-
OpenCV 모듈
- 모듈이라고 부르는 다수의 라이브러리들의 집합
- 크게 메인 모듈과 추가 모듈로 나눌 수 있음
-
OpenCV 메인 모듈
- 핵심 기능, 널리 사용되는 기능, 기반 기능(infrastructure)
- GitHub 주소 : https://github.com/opencv/opencv
-
OpenCV 추가 모듈(extra modules)
-
최신 기능, 널리 사용되지 않는 기능, 특허, HW 의존적 기능(CUDA) 등
-
GitHub 주소 : https://github.com/opencv/opencv_contrib/
-
- 일반적인 컴퓨터 비전 처리 과정과 필요한 OpenCV 모듈 구성
OpenCV 설치
-
OpenCV 헤더 파일, LIB 파일, DLL 파일을 컴퓨터에 생성하는 작업
-
OpenCV 헤더 파일, OpenCV LIB 파일 : OpenCV 프로그램을 빌드할 때 필요
-
OpenCV DLL 파일 : OpenCV 프로그램을 실행할 때 필요
-
-
Windows 운영체제에서 설치하는 2가지 방법
- 설치 실행 파일 이용
- 장점 : 설치가 빠르고 간단함, 미리 빌드된 DLL, LIB 파일 제공
- 단점 : OpenCV 추가 모듈 미지원, Windows 64 비트 운영체제만 지원
- 소스코드 직접 빌드
- 장점 : 자신의 시스템 환경에 최적화된 DLL, LIB 파일 생성, 원하지 않는 옵션 선택 가능
- 단점 : 빌드작업이 복잡하고 시간이 오래 걸림
- 설치 실행 파일 이용
-
설치 순서
- https://opencv.org/releases 에서 windows를 클릭
- 파일 실행 후 C:\ 로 지정 후 Extract 버튼 클릭하면 C:\opencv 폴더가 생성되면서 압축이 해제됨
- 설정 -> 시스템 -> 정보 -> 고급시스템 설정 -> 환경변수에 들어가서 user-id 에 대한 사용자 변수 새로 만들기 클릭
- 변수 이름 :
OPENCV_DIR
/ 변수 값 :C:\opencv\build
를 입력하여 OpenCV 폴더 위치를 시스템 환경 변수에 등록 - user-id에 대한 사용자 변수 Path 항목을 편집하여 새로 만들기를 통해
%OPENCV_DIR%\x64\vc15\bin
추가\ - 명령 프롬프트 창을 열어
opencv_version
을 입력했을때 설치한 버전의 값이 나오면 완료
OpenCV 프로그램 개발 환경 설정
Visual C++ 새 프로젝트 HelloCV 만들기
- Visual Studio 2022를 실행하고, [새 프로젝트 만들기] 항목 선택
- 또는 Visual Studion 2022 메뉴에서 [파일] - [새로 만들기] - [프로젝트] 선택
- 새 프로젝트 만들기 창에서 [빈 프로젝트] 항목 선택
- 새 프로젝트 구성 창에서 프로젝트 이름에 HelloCV 입력 후 위치는 임의의 폴더 선택
- 하단의 “솔루션 및 프로젝트를 같은 디렉터리에 배치” 옵션을 선택후 [만들기] 클릭
- 솔루션 : 여러개의 프로젝트를 관리할 수 있는 컨테이너
- 간단한 프로그램이니 솔루션 및 프로젝트를 같은 디렉터리에 배치
- 하단의 “솔루션 및 프로젝트를 같은 디렉터리에 배치” 옵션을 선택후 [만들기] 클릭
- [프로젝트] - [새 항목 추가] - [C++ 파일(.cpp)]를 선택 후 이름을 main.cpp로 변경 및 추가하고 아래 코드 입력
#include <iostream> // 텍스트 문자열을 출력하기 위한 c++ 헤더파일
#include "opencv2/opencv.hpp" // opencv와 관련된 헤더파일
int main() {
std::cout << "Hello, OpenCV" << CV_VERSION << std::endl;
}
OPENCV 속성 추가하기
-
DEBUG / RELEASE 모드 둘 다 추가해야 함
- OpenCV 헤더 파일 위치 지정하기
- [프로젝트] - [HelloCV속성] - [구성 속성] - [C/C++] - [일반] - 추가 포함 디렉터리 항목의 편집을 클릭 한 후
$(OPENCV_DIR)\include
입력
- [프로젝트] - [HelloCV속성] - [구성 속성] - [C/C++] - [일반] - 추가 포함 디렉터리 항목의 편집을 클릭 한 후
- OpenCV LIB 파일 위치 지정하기
- [프로젝트] - [HelloCV속성] - [구성 속성] - [링커] - [일반] - 추가 포함 디렉터리 항목의 편집을 클릭 한 후
$(OPENCV_DIR)\x64\vc15\lib
입력
- [프로젝트] - [HelloCV속성] - [구성 속성] - [링커] - [일반] - 추가 포함 디렉터리 항목의 편집을 클릭 한 후
- OpenCV 헤더 파일 위치 지정하기
- [프로젝트] - [HelloCV속성] - [구성 속성] - [링커] - [입력] - 추가 종속성의 편집을 클릭 한 후
opencv_world455d.lib
입력 - release 모드에 적용할 때는
opencv_world455.lib
입력
- [프로젝트] - [HelloCV속성] - [구성 속성] - [링커] - [입력] - 추가 종속성의 편집을 클릭 한 후
- [빌드] - [솔루션 빌드] (단축키 F7) 클릭
-
빌드 완료시 프로그램 생성 위치
\x64\ - 프로그램 실행
- 디버깅 : [디버그] -> [디버깅 시작] (단축키 F5)
- 실행 : [디버그] -> [디버그하지 않고 시작] (단축키 Ctrl + F5)