ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [영상처리] 비디오 처리
    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);


    반응형
Designed by Tistory.