// 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 imgInterface_h #define imgInterface_h #include "img.hh" #include "group.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 ImgInterface : public Img { /// Image des groupes unsigned char *tabOut_; /// tableau de couleur utlisation pour la creation de l'image segmentee static const unsigned char tabCol_[][3]; public: ImgInterface (); /// Destructeur ~ImgInterface (void); /// Transformation d'un tableau de valeurs segmentees en RGB void doImg (const unsigned char *tabIn = 0); /// Ajoute les coutours autour des balles trouvées void addGroupToDisplay (unsigned char *tab, const std::vector &list); /// Mirroir l'image void mirror (); /// Creation du tableau de RGB pour faire une image void doGroupImg (const std::vector &zoneList, bool init=true); /// unsigned char* getTabOut () {return tabOut_;} unsigned char* getTabSegm () {return tabSegm_;} private: /// Dessine des contours autour d'un objet void drawBox (unsigned char *tab, const std::vector &list); }; #endif // imgInterface_h