PARP Research Group University of Murcia, Spain


examples/videoPlayer/videoPlayer.cpp

Go to the documentation of this file.
00001 /*
00002  *      Copyright (C) 2007, 2008, 2009. PARP Research Group.
00003  *      <http://perception.inf.um.es>
00004  *      University of Murcia, Spain.
00005  *
00006  *      This file is part of the QVision library.
00007  *
00008  *      QVision is free software: you can redistribute it and/or modify
00009  *      it under the terms of the GNU Lesser General Public License as
00010  *      published by the Free Software Foundation, version 3 of the License.
00011  *
00012  *      QVision is distributed in the hope that it will be useful,
00013  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *      GNU Lesser General Public License for more details.
00016  *
00017  *      You should have received a copy of the GNU Lesser General Public
00018  *      License along with QVision. If not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00039 #include <QVApplication>
00040 #include <QVMPlayerCamera>
00041 #include <QVDefaultGUI>
00042 #include <QVImageCanvas>
00043 #include <QVYUV4MPEG2CameraWorker>
00044 
00046 class PlayerWorker: public QVWorker
00047         {
00048         public:
00049                 PlayerWorker(QString name): QVWorker(name)
00050                         {
00051                         addProperty< QVImage<uChar,3> >("Input image", inputFlag|outputFlag);
00052                         }
00053 
00054                 void iterate()
00055                         {
00056                         const QVImage<uChar, 3> image = getPropertyValue<QVImage<uChar, 3> >("Input image");
00057 
00058                         //std::cout << "Image size: " << image.getCols() << "x" << image.getRows() << std::endl;
00059                         }
00060         };
00061 
00062 int main(int argc, char *argv[])
00063         {
00064         QVApplication app(argc, argv, "Example program for QVision library. Displays the contents of a video source.");
00065 
00066         //QVYUV4MPEG2CameraWorker camera("YUV Camera");
00067         QVMPlayerCamera camera("Video");
00068 
00069         PlayerWorker player("Video player");
00070         camera.linkProperty(&player,"Input image", QVWorker::AsynchronousLink);
00071         //camera.linkProperty(&player,"Input image", QVWorker::SynchronousLink);
00072 
00073         QVDefaultGUI interface;
00074 
00075         QVImageCanvas imageCanvas("Output image");
00076         player.linkProperty("Input image", imageCanvas);
00077 
00078         return app.exec();
00079         }
00081 



QVision framework. PARP research group, copyright 2007, 2008.