This is with the older OpenCV versions. I had problems using the new OpenCV 2.4.0 so I resorted to this older way of reading videos. It can also be used in the later OpenCV versions (i.e. they are backward compatible)
/* play a video file */ #include <highgui.h> int main(int argc, char** argv) { /* Create a window */ cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE); /* capture frame from video file */ CvCapture* capture = cvCreateFileCapture( argv[1]); /* Create IplImage to point to each frame */ IplImage* frame; /* Loop until frame ended or ESC is pressed */ while(1) { /* grab frame image, and retrieve */ frame = cvQueryFrame(capture); /* exit loop if fram is null / movie end */ if(!frame) break; /* display frame into window */ cvShowImage("Example2", frame); /* if ESC is pressed then exit loop */ char c = cvWaitKey(33); if(c==27) break; } /* destroy pointer to video */ cvReleaseCapture(&capture); /* delete window */ cvDestroyWindow("Example2"); return EXIT_SUCCESS; }
No comments:
Post a Comment