view-img.C

00001 /*! @file CmuCam/view-image.C view an image from the cmu cam */
00002 
00003 // //////////////////////////////////////////////////////////////////// //
00004 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005   //
00005 // by the University of Southern California (USC) and the iLab at USC.  //
00006 // See http://iLab.usc.edu for information about this project.          //
00007 // //////////////////////////////////////////////////////////////////// //
00008 // Major portions of the iLab Neuromorphic Vision Toolkit are protected //
00009 // under the U.S. patent ``Computation of Intrinsic Perceptual Saliency //
00010 // in Visual Environments, and Applications'' by Christof Koch and      //
00011 // Laurent Itti, California Institute of Technology, 2001 (patent       //
00012 // pending; application number 09/912,225 filed July 23, 2001; see      //
00013 // http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     //
00014 // //////////////////////////////////////////////////////////////////// //
00015 // This file is part of the iLab Neuromorphic Vision C++ Toolkit.       //
00016 //                                                                      //
00017 // The iLab Neuromorphic Vision C++ Toolkit is free software; you can   //
00018 // redistribute it and/or modify it under the terms of the GNU General  //
00019 // Public License as published by the Free Software Foundation; either  //
00020 // version 2 of the License, or (at your option) any later version.     //
00021 //                                                                      //
00022 // The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  //
00023 // that it will be useful, but WITHOUT ANY WARRANTY; without even the   //
00024 // implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
00025 // PURPOSE.  See the GNU General Public License for more details.       //
00026 //                                                                      //
00027 // You should have received a copy of the GNU General Public License    //
00028 // along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   //
00029 // to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   //
00030 // Boston, MA 02111-1307 USA.                                           //
00031 // //////////////////////////////////////////////////////////////////// //
00032 //
00033 // Primary maintainer for this file: Lior Elazary <elazary@usc.edu>
00034 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/CmuCam/view-img.C $
00035 // $Id: view-img.C 8521 2007-06-28 17:45:49Z rjpeters $
00036 //
00037 
00038 
00039 #include "Component/ModelManager.H"
00040 #include "Image/Image.H"
00041 #include "Image/ImageSet.H"
00042 #include "Image/DrawOps.H"
00043 #include "Devices/Serial.H"
00044 #include "GUI/DebugWin.H"
00045 
00046 
00047 int main(const int argc, const char **argv)
00048 {
00049 
00050   ModelManager *mgr;
00051   MYLOGVERB = LOG_INFO;
00052   mgr = new ModelManager("View Image");
00053 
00054   nub::soft_ref<Serial> itsPort(new Serial(*mgr));
00055   itsPort->configure("/dev/ttyS0", 115200, "8N1", false);
00056   mgr->addSubComponent(itsPort);
00057 
00058   if (mgr->parseCommandLine(
00059         (const int)argc, (const char**)argv, "", 0, 0) == false)
00060     return 1;
00061 
00062   mgr->start();
00063 
00064   while(1)
00065   {
00066     unsigned char val = itsPort->read();
00067     if (val == 1)
00068     {
00069       int size_x = itsPort->read();
00070       int size_y = itsPort->read();
00071       unsigned char num_chan = itsPort->read();
00072 
00073 
00074       size_x = size_x << 2;
00075       size_y = size_y << 2;
00076       printf("%i %i %i\n", size_x, size_y, num_chan);
00077       Image<PixRGB<byte> > img(Dims(size_x, size_y), ZEROS);
00078 
00079       unsigned char buff[size_x*size_y*num_chan];
00080       for(int i=0; i<size_x*size_y*num_chan; i++)
00081       {
00082         unsigned char p = itsPort->read();
00083         buff[i] = p;
00084 
00085       }
00086       unsigned char val = itsPort->read();
00087       printf("Done %i\n", val);
00088 
00089       img.attach((PixRGB<byte>*)buff, size_x, size_y);
00090 
00091       SHOWIMG(img);
00092     }
00093   }
00094 
00095 
00096   // stop all our ModelComponents
00097   mgr->stop();
00098 
00099   return 0;
00100 
00101 }
00102 
Generated on Sun May 8 08:40:23 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3