Open CV (Open Source Computer Vision) : http://opencv.org/
Downloads : http://opencv.org/downloads.html
Documentation : http://opencv.org/documentation.html
2017년 2월 현재 OpenCV 3.2 까지 나와있다.
OpenCV API
- core. The Core Functionality
- imgproc. Image Processing
- highgui. High-level GUI and Media I/O
- video. Video Analysis
- calib3d. Camera Calibration and 3D Reconstruction
- features2d. 2D Features Framework
- objdetect. Object Detection
- ml. Machine Learning
- flann. Clustering and Search in Multi-Dimensional Spaces
- gpu. GPU-accelerated Computer Vision
- photo. Computational Photography
- stitching. Images stitching
- nonfree. Non-free functionality
- contrib. Contributed/Experimental Stuff
- legacy. Deprecated stuff
- ocl. OpenCL-accelerated Computer Vision
- superres. Super Resolution
- viz. 3D Visualizer
OpenCV 는 크게 다음과 같이 나눌수 있다.
- CV : 기본적인 영상 처리와 고수준의 컴퓨터 비전 알고리즘
- MLL : 다양한 통계 분류와 군집화 도구 등의 기계 학습 라이브러리
- HighGUI : GUI, 영상과 비디오에 대한 입출력에 관련된 함수들
- Core : 기본적인 자료 구조와 알고리즘
OpenCV 시작
정지영상 출력
#include "highgui.h"
// OpenCV는 비디오와 카메라 입력 뿐 아니라 다양한 포멧의 영상 파일을 불러올수 있다. 이러한 기능은 HighGUI 라이브러리에 정의가 되어있다.
int main(int argc, char **argv)
{
IplImage* img = cvLoadImage("sample.jpg");
// cvLoadImage()는 파일의 형식을 자동으로 파악하여 영상을 불러오며 메모리공간도 자동으로 할당한다.
// bmp,dib,jpeg,jpe,png,pbm,pgm,ppm,sr,ras,tiff 등의 영상포멧을 읽을 수 있다.
// IplImage 타입은 모든 형태의 영상데이터를 표현할 수 있으며 영상 데이터를 조작할 때 주로 사용한다.
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
// HighGUI 라이브러리 함수들은 위도우 이름을 이용하여 윈도우를 구분하고 제어한다.
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
// img에 할당된 메모리 해제.
cvDestroyWindow("Example1");
return 0;
}
끝.
댓글 없음:
댓글 쓰기