Page 24 -
P. 24
신 람다 표현식(lambda expression)을 사용할 수 있게 되었고, Mat 클래스 객체 초기화 시 C++11
초기화 방법을 사용할 수 있게 되었습니다. 이외에도 DNN 모듈 기능이 강화되어 AlexNet,
Inception v2, Resnet, VGG 같은 영상 분류기뿐만 아니라 Mask-RCNN, tiny YOLO 같은 최
신 딥러닝 네트워크 구조를 지원합니다. QR 코드를 검출하고 해석하는 기능도 새롭게 제공합니
다. 참고로 OpenCV 4.0에서는 오래된 C API 지원이 종료되어 더 이상 IplImage 구조체 등을
사용할 수 없습니다.
지금까지 설명한 OpenCV 버전에 따른 주요 특징을 그림 2-1에 요약하여 나타냈습니다.
그림 2-1 OpenCV 버전과 주요 특징
•인텔 주도로 개발 시작
1999 개발 시작
•이후 오픈 소스로 전환됨
•C로 구현: 함수 & 구조체
2006 OpenCV 1.0 •IplImage 구조체
2009 OpenCV 2.0 •C++로 전환: 클래스
•Mat 클래스
•OpenCV 프로젝트 구조 개선
2015 OpenCV 3.0 •GPU, IPP 활용 확대
2017 OpenCV 3.3 •DNN 모듈 지원
2018 OpenCV 4.0
•C++ 11/14/17 지원
•DNN 지원 강화
OpenCV 모듈
OpenCV 라이브러리는 다수의 모듈(module)로 구성되어 있습니다. 모듈은 OpenCV에서 제공하
는 다양한 클래스와 함수를 그 기능과 성격에 따라 모아서 만들어 놓은 OpenCV의 부분 라이브
러리입니다. 예를 들어 OpenCV의 핵심 클래스와 함수는 core 모듈에 들어 있고, 영상 출력 기
능은 highgui 모듈에 포함되어 있습니다. 결국 OpenCV는 다수의 모듈 라이브러리가 모여서 만
들어진 것이라고 볼 수 있습니다. OpenCV에서 제공하는 다양한 모듈의 이름과 설명을 표 2-1에
정리했습니다.
030
OpenCV(본문)인디고출력용_0326.indb 30 2019-03-26 오후 1:28:32