// robert - programme du robot 2005 // // Copyright (C) 2005 Olivier Gaillard // // Robot APB Team/Efrei 2005. // Web: http://assos.efrei.fr/robot/ // Email: robot AT efrei DOT fr // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef img_h #define img_h #include #include #include "image/image.hh" #include "image/image_reader.hh" #include "oconfig.hh" /// Chargement des images, conversion en YUV, HSI, detection des contours, /// transformation d'une image segmentee en RGB, ecriture de l'image sur le disque class Img { friend class ConvertImg; friend class Group; friend class Magnifier; friend class SegmLearn; friend class Segm; friend class Comm; friend class Live; friend class Skittle; public: /// Constructeur Img (void); /// Destructeur ~Img (void); /// Ecrite des valeurs RGB dans un fichier void writeRaw (const char *filename, unsigned char *tab = 0) const; /// Charge les valeurs RGB à partir d'un fichier void loadRaw (const char *filename, const Image::PixelFormat colorMode, const int width, const int height); /// Charge plusieurs fichiers void loadMultipeRaw (const std::vector &imgList, const Image::PixelFormat colorMode, const int width, const int height); /// Lit une image depuis un Image. void load (ImageReader &loader); protected: /// tableau des couleurs bruts unsigned char *tabData_; /// tableau avec couleurs segmentees unsigned char *tabSegm_; /// dimension de l'image int height_, width_; /// nombres de pixels de l'image unsigned long nbPixels_; /// mode de l'espace de couleurs Image::PixelFormat colorMode_; }; #endif // img_h