#ifndef img_h #define img_h // img.h - classe Image // nono - Programme du robot Efrei Robotique I1-I2 2004 // Copyright (C) 2004 Olivier Gaillard #include "image/image_loader.h" #include "oconfig.h" /// 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 { /// numero IL de l'image unsigned int ImgId; public: /// tableau avec couleurs segmentees unsigned char *tabSegm; /// dimension de l'image int height, width; /// nombres de pixels de l'image unsigned long nbPixels; /// tableau des couleurs RGB bruts unsigned char *tabData; /// mode de l'espace de couleurs bool yuv,hsi; /// Constructeur Img (void); /// Destructeur virtual ~Img (void); /// Lis une image en utilisant le peripherique adequate (fichier, cam usb, cam) #if 0 virtual int ReadRaw(char *sourcePath) = 0; /// Ecriture de l'image sur le disque virtual void WriteSegm(char *filename, unsigned char *tabSegm) = 0; virtual void WriteSegm(char *filename) = 0; #endif /// Conversion en YUV void RGBtoYUV(); /// Conversion en HSI void RGBtoHSI(); /// Conversion de YUV en RGB void YUVtoRGB(); /// Ecrite des valeurs RGB dans un fichier void WriteRGB(char *filename); /// Charge les valeurs RGB dans un fichier void LoadRGB(char *filename, int mode, int width, int height); /// Lit une image depuis un ImageLoader. void load (ImageLoader &loader); protected: }; #endif // img_h