00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00038 #include <QVMPlayerReader>
00039 #include <qvip.h>
00040
00041 int main(int argc, char *argv[])
00042 {
00043
00044 if (argc != 2)
00045 {
00046 std::cout << "Usage:" << std::endl << "\t" << argv[0] << " <video source url>" << std::endl;
00047 std::cout << std::endl << "Example:" << std::endl << "\t" << argv[0] << " penguin.avi" << std::endl;
00048 exit(0);
00049 }
00050
00051
00052 QVMPlayerReader videoReader;
00053 if (!videoReader.open(argv[1], QVMPlayerReader::NoLoop))
00054 {
00055 std::cout << "Error opening video source." << std::endl;
00056 exit(0);
00057 }
00058 std::cout << "Video source successfully opened." << std::endl;
00059
00060
00061 int n = 0;
00062 QVImage<uChar, 3> image;
00063 while(videoReader.grab(image))
00064 {
00065 const QString imageFileName = QString("frame") + QString::number(n++).rightJustified(6, '0') + QString(".png");
00066 std::cout << "Frame grabbed ok. Writting frame to file " << qPrintable(imageFileName) << std::endl;
00067 writeQVImageToFile (imageFileName, image);
00068 }
00069
00070
00071 videoReader.close();
00072 std::cout << "Video reading finished." << std::endl;
00073 }