Programming/영상처리
[영상처리] 비디오 처리
영상털이범
2013. 12. 17. 13:59
반응형
웹캠을 이용한 영상처리를 하면서 자주 사용하는 함수를 정리해보았습니다. 가장 기본적으로 쓰이는 함수이지만 어떠한 구조로 이루어져있고 어떠한 기능을 하고 있는지 자세히 알아보도록 하겠습니다.
데이터 구조
□ 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);
반응형