1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#include<opencv/cv.h>
#include<opencv/highgui.h>
int main( int argc, char* argv[])
{
CvCapture* capture = 0;
capture = cvCreateFileCapture( argv[1] );
if(!capture)
return(-1);
IplImage* bgr_frame = cvQueryFrame(capture); // initialisation du lecteur
double fps = cvGetCaptureProperty( capture, CV_CAP_PROP_FPS) ; // fps donne la vitesse de deroulement des frames
CvSize size = cvSize( (int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH),
(int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT));
CvVideoWriter *writer = cvCreateVideoWriter( argv[2], CV_FOURCC('P','I','M','1'), fps, size,0);
IplImage* gray_frame = cvCreateImage( size, IPL_DEPTH_8U,1);
// chaque frame est transformee en image gris
while((bgr_frame = cvQueryFrame(capture)) != NULL)
{
cvCvtColor(bgr_frame, gray_frame, CV_RGB2GRAY);;
cvWriteFrame( writer, gray_frame );
}
// liberation de la memoire
cvReleaseVideoWriter(&writer);
cvReleaseImage( &gray_frame );
cvReleaseCapture( &capture );
return(0);
} |
Partager