#include "cv.h"
#include "highgui.h"
// Convert a video to grayscale
// argv[1]: input video file
// argv[2]: name of new output file
int main( int argc, char* argv[] )
{
cvNamedWindow( "Original", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "New", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( argv[1] );
if (!capture)
{
return -1;
}
double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
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('D','I','V','X'),fps,size);
IplImage* gray_frame = cvCreateImage(size, IPL_DEPTH_8U,3);
IplImage* bgr_frame;
while( (bgr_frame=cvQueryFrame(capture)) != NULL )
{
cvShowImage( "Original", bgr_frame );
cvConvertImage(bgr_frame,gray_frame,0);
cvShowImage( "New", gray_frame );
cvWriteToAVI( writer, gray_frame);
char c = cvWaitKey(10);
if( c == 27 ) break;
}
cvReleaseVideoWriter( &writer );
cvReleaseImage( &gray_frame );
cvReleaseCapture( &capture );
}
#include "cv.h"
#include "highgui.h"
// Convert a video to grayscale
// argv[1]: input video file
// argv[2]: name of new output file
int main( int argc, char* argv[] )
{
cvNamedWindow( "Original", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "New", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( argv[1] );
if (!capture)
{
return -1;
}
double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
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('D','I','V','X'),fps,size);
IplImage* bgr_frame;
IplImage* gray_frame;
while( (bgr_frame=cvQueryFrame(capture)) != NULL )
{
cvShowImage( "Original", bgr_frame );
gray_frame=bgr_frame;
cvShowImage( "New", gray_frame );
cvWriteToAVI( writer, gray_frame);
char c = cvWaitKey(10);
if( c == 27 ) break;
}
cvReleaseVideoWriter( &writer );
cvReleaseCapture( &capture );
}
#include "cv.h"
#include "highgui.h"
// Convert a video to grayscale
// argv[1]: input video file
// argv[2]: name of new output file
int main( int argc, char* argv[] )
{
cvNamedWindow( "Original", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "New", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( argv[1] );
if (!capture)
{
return -1;
}
double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
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('D','I','V','X'),fps,size);
IplImage* bgr_frame;
while( (bgr_frame=cvQueryFrame(capture)) != NULL )
{
cvShowImage( "Original", bgr_frame );
cvShowImage( "New", bgr_frame );
cvWriteToAVI( writer, bgr_frame);
char c = cvWaitKey(10);
if( c == 27 ) break;
}
cvReleaseVideoWriter( &writer );
cvReleaseCapture( &capture );
}