IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

Manipulation d'image 2D bmp avec vc++


Sujet :

VC++ .NET

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Manipulation d'image 2D bmp avec vc++
    Salu tou le monde

    Est qu'il ya qq qui peut m'aider avec mon mini projet de C++ svp

    L'enoncer est le suivant:
    Une image etant definie par une matrice de pixel où chaque pixel est definie par une couleur donnée.
    Nous suppons que l'ensemble des couleurs est définie dans une matrice qui contient 256 couleurs.

    Dans le cadre de ce projet nous sommes amener à developper les classes suivantes:
    - classe couleur ou une couleur peut est codée par trois chiffres qui désigne les valeurs des 3 couleurs primaires
    (valeurs apparient à [0,255])
    - la classe générique matrice
    - la classe pixel qui derive de la classe couleur
    - la classe matrice_couleur qui est definie par la classe générique matrice avec paramètre d'instanciation la classe couleur
    - la classe image qui est définie par la classe générique matrice avec paramètre d'instanciation la classe pixel

    Les fonctionnalités devrant être assurées par la classe image sont essentiellement:
    - Surcharge de l'opérateur == qui permet de comparer deux images
    - Surcharge de l'opérateur d'affectation =
    - Surcharge de l'opérateur /= qui permet d'inverser une image selon un axe verticale ou horizontal
    - Surcharge de l'opérateur *= qui,étant donnée un entier n,agrandie n fois l'image courante, où chaque pixel dans l'image est
    remplacer dans l'image résultat par une matrice nxn pixels de même couleur.Cet opérateur correspond bien à un opérateur de zoom
    d'image
    - Méthode Extraire qui,étant données les coordonnées x et y d'un pixel et une taille n, extrait et retourne l'image de taille
    n, dont l'extrémité haute gauche est le pixel de coordonnées x et y.
    - Methode Noir_Blanc qui permet le passage de l'image en noir et blanc. Pour cela, ume méthode de conversion de couleur devrait
    être définie afin d'obtenir un résultat satisfaisant.
    - Surcharge de l'opérateur << permettant l'affichage de l'image.

    Merci beaucoup

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Points : 63
    Points
    63
    Par défaut Juste un squelette...
    voilà juste le squelette de tes classes... à toi de remplir les commentaires...



    class Couleur
    {
    public:
    Couleur() { Col = 0; }
    Couleur(unsigned char r, unsigned char g, unsigned char b) { R = r ; G = g ; B = b; }
    union
    {
    unsigned char A, R, G, B; //(ou l'inverse ... à voir plus tard);
    unsigned char V[4];
    unsigned long Col;
    };
    };
    //- la classe générique matrice
    template <class T> class Matrice
    {
    public:
    Matrice(): W(0), H(0), Datas(0) {}
    Matrice(unsigned int w, unsigned int h) { W = w; H = h; Datas = new T[w*h]; }
    ~Matrice() { if(Datas) delete Datas; }
    unsigned int W, H;
    T *Datas;
    };

    //- la classe pixel qui derive de la classe couleur
    class Pixel : public Couleur
    {
    public:
    unsigned int X, Y;
    };


    //- la classe matrice_couleur qui est definie par la classe générique matrice avec paramètre d'instanciation la classe couleur
    class MatriceCouleur : public Matrice<Couleur>
    {
    };

    //- la classe image qui est définie par la classe générique matrice avec paramètre d'instanciation la classe pixel
    class Image : public Matrice<Pixel>
    {
    public:
    bool operator == (const Image &I) { /* ...*/ return true; }
    Image & operator = (const Image &I) { /* ...*/ return *this; }
    Image & oprator /= (int Dir) { /* ...*/ return *this; }
    Image & oprator *= (int n) { /* ...*/ return *this; }
    Image Extraire( unsigned int x, unsigned int y, unsigned int n) { Image Tmp; /* ...*/ return Tmp; }
    void Noir_Blanc() { /* ... */ }
    // Pour l'opé << je sais pas sur quel périphérique tu affiches et je peux donc même pas prévoir le prototype
    };

    Bonne chance...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci beaucoup c tres gentille

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par deebou Voir le message
    voilà juste le squelette de tes classes... à toi de remplir les commentaires...



    class Couleur
    {
    public:
    Couleur() { Col = 0; }
    Couleur(unsigned char r, unsigned char g, unsigned char b) { R = r ; G = g ; B = b; }
    union
    {
    unsigned char A, R, G, B; //(ou l'inverse ... à voir plus tard);
    unsigned char V[4];
    unsigned long Col;
    };
    };
    //- la classe générique matrice
    template <class T> class Matrice
    {
    public:
    Matrice(): W(0), H(0), Datas(0) {}
    Matrice(unsigned int w, unsigned int h) { W = w; H = h; Datas = new T[w*h]; }
    ~Matrice() { if(Datas) delete Datas; }
    unsigned int W, H;
    T *Datas;
    };

    //- la classe pixel qui derive de la classe couleur
    class Pixel : public Couleur
    {
    public:
    unsigned int X, Y;
    };


    //- la classe matrice_couleur qui est definie par la classe générique matrice avec paramètre d'instanciation la classe couleur
    class MatriceCouleur : public Matrice<Couleur>
    {
    };

    //- la classe image qui est définie par la classe générique matrice avec paramètre d'instanciation la classe pixel
    class Image : public Matrice<Pixel>
    {
    public:
    bool operator == (const Image &I) { /* ...*/ return true; }
    Image & operator = (const Image &I) { /* ...*/ return *this; }
    Image & oprator /= (int Dir) { /* ...*/ return *this; }
    Image & oprator *= (int n) { /* ...*/ return *this; }
    Image Extraire( unsigned int x, unsigned int y, unsigned int n) { Image Tmp; /* ...*/ return Tmp; }
    void Noir_Blanc() { /* ... */ }
    // Pour l'opé << je sais pas sur quel périphérique tu affiches et je peux donc même pas prévoir le prototype
    };

    Bonne chance...


    Pourriz vous svp me donner l'implémentation de ces méthodes si C possible biensur.
    merci d'avance.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/04/2015, 20h23
  2. Manipuler les images dans database avec MATLAB
    Par spopo2012 dans le forum MATLAB
    Réponses: 6
    Dernier message: 03/05/2013, 11h03
  3. manipulation d'image et vidéo avec direct show?
    Par badridevelop dans le forum C#
    Réponses: 3
    Dernier message: 02/02/2011, 09h08
  4. [TP]Gestion des images bmp avec BMP.TPU
    Par Gabi dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 14/05/2004, 23h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo