웹캠을 이용한 영상처리를 하면서 자주 사용하는 함수를 정리해보았습니다. 가장 기본적으로 쓰이는 함수이지만 어떠한 구조로 이루어져있고 어떠한 기능을 하고 있는지 자세히 알아보도록 하겠습니다.
데이터 구조
□ CvCapture : 비디오 캡쳐 함수를 사용하기 위한 데이터 구조
□ CvVideoWriter : 비디오 저장 함수를 사용하기 위한 데이터 구조
시작 / 해제
□ cvCaptureFromCAM : 카메라에서 프레임 캡쳐
CvCapture* cvCapturefromCAM(int index);
(index는 0번째, 1번째 카메라를 가리키는 변수)
□ cvCaptureFromFile : 비디오 파일에서 프레임 캡쳐 시작
CvCapture* cvCapturefromFile(const char* filename);
□ cvReleaseCapture : 할당한 CvCatpure 데이터 구조를 해제한다.
void cvReleaseCapture(CvCapture** capture);
프레임 가져오기
□ cvGrabFrame : 카메라 또는 파일에서 프레임을 잡는다.
int cvGrabFrame(CvCapture* capture);
□ cvRetrieveFrame : cvGrabFrame에서 잡은 프레임에서 영상 데이터를 가져온다.
IplImage* cvRetrieveFrame(CvCapture* capture);
□ cvQueryFrame : 카메라 또는 파일에서 잡은 프레임을 풀은 영상 데이터를 반환한다.
실제로 cvGrabframe() 함수와 cvRetrieveFrame() 함수의 연속된 순서와 같다.
IplImage* cvQueryFrame(CvCapture* capture);
프레임 저장하기
□ cvCreateVideoWriter : 비디오 파일 작성자(video file writer)를 생성한다.
CvVideoWriter* cvCreateVideoWriter(const char* filename, int fourcc, double fps, CvSize frame_size, int is_color = 1);
□ cvWriteFrame : 비디오 파일 작성자에 프레임을 저장한다.
int cvWriteFrame(CvVideoWriter* writer, const IplImage* image);
□ cvReleaseVideoWriter : 비디오 파일 작성자를 해제한다.
void cvReleaseVideoWriter(CvVideoWriter** writer);
'Programming > 영상처리' 카테고리의 다른 글
[영상처리] 카메라(웹캠)영상 출력 (0) | 2014.01.21 |
---|---|
[영상처리] 동영상파일(AVI) 출력 (0) | 2014.01.16 |
[영상처리] 이미지 파일 출력 (3) | 2014.01.14 |
[영상처리] Visual Studio 2010 + OpenCV 2.4.8 설치 (47) | 2014.01.06 |
[영상처리] 행렬과 영상에 관한 연산 (0) | 2013.12.17 |