CvVideoWriter* cvCreateVideoWriter( const char* filename,  int fourcc,  double fps, CvSize frame_size,

int is_color CV_DEFAULT(1) );

filename -
fourcc - 코덱설정 파라미터. -1값은 다이얼로그창이 뜨며 0은 무압축 영상
    이부분에 CV_FOURCC(c1, c2, c3, c4) 를 넣을 수 있다.

#define  CV_FOURCC(c1, c2, c3, c4)  (((c1)&255) + (c2)&255)<<8 ) + (((c3)&>>255)<<16) + (((c4)&255)<<24)) 
 
CV_FOURCC('P','I','M','1') = MPEG-1 codec
CV_FOURCC('M','J','P','G') = motion-jpeg codec (does not work well)
CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec
CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec
CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec
CV_FOURCC('U', '2', '6', '3') = H263 codec
CV_FOURCC('I', '2', '6', '3') = H263I codec
CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec

fps -  초당 프레임 보통 25가 적절함.

frame_size - 프레임 사이즈를 넘겨준다.

CV_DEFAULT(1) - 1은 컬러, 0은 그레이


#include<cv.h>
#include<highgui.h>

typedef struct CvVideoWriter CvVideoWriter;
// 재컴파일을 해야 ffmepg를 사용할 수 있다..

void main(void){

    img1 = cvQueryFrame( cap1 );

    cvNamedWindow( "microsoft1", 0 );
    cvResizeWindow("microsoft1", 640, 480);

    CvVideoWriter *writer = 0;
    int width = 640;
    int height = 480;
    double frame = 30;

    // writer = cvCreateVideoWriter("test.avi",CV_FOURCC('D','I','V','X'), fps, cvSize
    ( width, height), 1);

    writer = cvCreateVideoWriter("c:\\a.avi",-1, 30, cvSize( width, height);


    while(1){

        cvGrabFrame( cap1 );
        img1 = cvQueryFrame( cap1 );
  
        cvWriteFrame( writer, img1 );
        cvShowImage("microsoft1", img1);

        if(cvWaitKey(20) >= 0) break;

    }

    cvReleaseVideoWriter(&writer);

    cvReleaseCapture(&cap1);

    cvDestroyWindow("microsoft1");


}

'OpenSTUDY > CameraVision' 카테고리의 다른 글

cvThreshold  (0) 2011.11.05
cvFlip  (0) 2011.11.05
CaptureFromAVI  (0) 2011.11.02
Canny Edge  (0) 2011.11.02
openCV 2.1 시작  (0) 2011.10.22

+ Recent posts