OpenCV 모듈
OpenCV 라이브러리는 다수의 모듈(module)로 구성되어 있습니다. 모듈은 OpenCV에서 제공하는 다양한 클래스와 함수를 그 기능과 성격에 따라 모아서 만들어 놓은 OpenCV의 부분 라이브러리입니다. 예를 들어 OpenCV의 핵심 클래스와 함수는 core 모듈에 들어 있고, 영상 출력 기능은 highgui 모듈에 포함되어 있습니다. 결국 OpenCV는 다수의 모듈 라이브러리가 모여서 만들어진 것이라고 볼 수 있습니다. OpenCV에서 제공하는 다양한 모듈의 이름과 설명을 표 2-1에 정리했습니다.
▼ 표 2-1 OpenCV 주요 모듈
모듈 이름 |
설명 |
calib3d |
카메라 캘리브레이션과 3차원 재구성 |
core |
행렬, 벡터 등 OpenCV 핵심 클래스와 연산 함수 |
dnn |
심층 신경망 기능 |
features2d |
2차원 특징 추출과 특징 벡터 기술, 매칭 방법 |
flann |
다차원 공간에서 빠른 최근방 이웃 검색 |
highgui |
영상의 화면 출력, 마우스 이벤트 처리 등 사용자 인터페이스 |
imgcodecs |
영상 파일 입출력 |
imgproc |
필터링, 기하학적 변환, 색 공간 변환 등 영상 처리 기능 |
ml |
통계적 분류, 회기 등 머신 러닝 알고리즘 |
objdetect |
얼굴, 보행자 검출 등 객체 검출 |
photo |
HDR, 잡음 제거 등 사진 처리 기능 |
stitching |
영상 이어 붙이기 |
video |
옵티컬 플로우, 배경 차분 등 동영상 처리 기술 |
videoio |
동영상 파일 입출력 |
world |
여러 OpenCV 모듈을 포함하는 하나의 통합 모듈 |