From 97b69507c877a4644c0caac4f61e052e188f9d8e Mon Sep 17 00:00:00 2001 From: gaillaro Date: Tue, 5 Apr 2005 18:26:18 +0000 Subject: Renaissance de la vision : - code standard robot - presque du C++ - apprentissage du RN sur plusieurs images - tableau de données couleurs compressé - reconnaissance de plusieurs objets possibles --- 2005/i/robert/src/ovision/see/magnifier.hh | 71 ++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 2005/i/robert/src/ovision/see/magnifier.hh (limited to '2005/i/robert/src/ovision/see/magnifier.hh') diff --git a/2005/i/robert/src/ovision/see/magnifier.hh b/2005/i/robert/src/ovision/see/magnifier.hh new file mode 100644 index 0000000..1d7aa67 --- /dev/null +++ b/2005/i/robert/src/ovision/see/magnifier.hh @@ -0,0 +1,71 @@ +// 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 magnifier_h +#define magnifier_h + +#include + +#include "segm.hh" +#include "oconfig.hh" +#include "group.hh" +#include "img.hh" + +/// Filtre la liste d'objets trouvées +class Magnifier +{ + /// Classe segmentation + Segm *segm_; + /// Classe oconfig + OConfig *oconfig_; + /// Classe img + Img *img_; + /// Liste des objects après analyse + std::vector *itemList_; + + public: + /// Constructeur + Magnifier (Img *img, Segm *segm); + /// Destructeur + ~Magnifier (void); + /// Analyse une liste de zones + void analyse (const std::vector &zoneList); + /// Affiche les zones trouvees après analyse + void showItems (const Group::ZoneType type) const; + /// Renvoie une liste d'objet + std::vector& getItemList (Group::ZoneType type) + {return itemList_[type];} + + private: + /// Ajout d'un objet + void addItem (const Zone &zone); + /// Test si l'object s'agit d'un doublon + bool checkIsUnique (const Zone &zone); + /// Test la validité des objects + bool isRedSkittle (const Zone &zone) const; + bool isGreenSkittle (const Zone &zone) const; + bool isBase (const Zone &zone) const; + bool isBorder (const Zone &zone) const; + bool isGap (const Zone &zone) const; +}; + +#endif // magnifier_h -- cgit v1.2.3