PARP Research Group University of Murcia, Spain


examples/imageIO/imageIO.cpp

Go to the documentation of this file.
00001 /*
00002  *      Copyright (C) 2007, 2008. 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 <unistd.h>
00040 #include <stdlib.h>
00041 #include <stdio.h>
00042 #include <string.h>
00043 #include <stdarg.h>
00044 
00045 #include <QVApplication>
00046 #include <QVMPlayerCamera>
00047 #include <QVDefaultGUI>
00048 #include <QVImageCanvas>
00049 #include <QVYUV4MPEG2Recorder>
00050 
00051 #ifndef DOXYGEN_IGNORE_THIS
00052 class PlayerWorker: public QVWorker
00053         {
00054         public:
00055                 PlayerWorker(QString name): QVWorker(name)
00056                         {
00057                         addProperty< QVImage<uChar,3> >("Input image", inputFlag|outputFlag);
00058                         addProperty< QString >("Image name", inputFlag, "flower.ppm");
00059                         QVImage<uChar,3> image;
00060 
00061                         readQVImageFromFile(getPropertyValue< QString > ("Image name"), image);
00062                         addProperty< QVImage<uChar,3> >("Flower", outputFlag, image);
00063 
00064                         writeQVImageToFile("flower2.ppm", image);
00065                         }
00066 
00067                 void iterate()  { }
00068         };
00069 
00070 int main(int argc, char *argv[])
00071         {
00072         QVApplication app(argc, argv, "Example program for QVision library. Displays the contents of a video source.");
00073 
00074         QVMPlayerCamera camera("Video");
00075         PlayerWorker player("Video player");
00076         camera.linkProperty(&player,"Input image");
00077 
00078         QVYUV4MPEG2Recorder recorder("Video recorder");
00079         player.linkProperty("Input image", recorder, QVWorker::SynchronousLink);
00080 
00081         QVDefaultGUI interface;
00082 
00083         QVImageCanvas imageCanvas("Output image");
00084         player.linkProperty("Input image", imageCanvas);
00085 
00086         QVImageCanvas imageCanvasTest("flower.ppm");
00087         player.linkProperty("Flower", imageCanvasTest);
00088 
00089         return app.exec();
00090         }
00091 #endif
00092 



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