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

Traitement d'images Discussion :

Algo pour tracer un histogramme


Sujet :

Traitement d'images

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Points : 131
    Points
    131
    Par défaut Algo pour tracer un histogramme
    Bonjour, je souhaite tracer un histogramme, et j'ai fait un algorithme mais mon bizarrement mon histogramme ne se trace pas(je veux le tracer en qt);mais je suis sur ce forum pour valider mon algorithme svp:
    En fait j'ai choisi un pas de 100 pour tracer mon histogramme:voici mon algorithme si quelqu'un peut m'aider svp:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    tailleImage = Nbligne * Nbcolonne ;
    Histo[tailleImage] ;
       for(i = 0; i < tailleImage/100; i++)
        {
           Histo[i] = 0 ;
       }
     
       myX[0] = 0 ;
       myX[tailleImage/100] ;
       for(i= 1; i < tailleImage/100  ; i++)
       {
           myX[i] = myX[i - 1] + pas ;
     
       }
        for(i = 0; i < (tailleImage/100); i++)
        {
            for ( y = 0; y < Nbligne; y++)
            {
              for ( x = 0; x < Nbcolonne; x++)
              {
              if((i * pas) <= image[y * Nbcolonne + x] && image[y * Nbcolonne+ x] < (i+1) * pas)
               {
     
                  Histo[i]++ ;
     
     
               }
             }
          }
        }

    Merci d'avance.

  2. #2
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 219
    Points : 226
    Points
    226
    Par défaut
    Oui alors je te confirme que l'erreur vient bien de l'algorithme, et non pas du dessin de l'histogramme à l'écran.

    Je dois dire que je ne comprend rien à ce que tu as fait.

    Quand on calcule un histogramme, le but est d'observer le nombre de fois que l'on rencontre un pixel ayant la valeur 0,1,2,....,255.

    Alors voici ce que je te propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    tailleImage = Nbligne * Nbcolonne ;
    Histo[256] ;    // Et pas 255 car on compte aussi le 0
     
    for(i = 0; i < 256; i++)
    {
        Histo[i] = 0 ;
    }
     
     
    for(i = 0; i < tailleImage; i++)
    {
        v = image [ i ] ;
     
        Histo [ v ] = Histo [ v ] + 1 ;
    }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Points : 131
    Points
    131
    Par défaut
    Bonjour,merci pour ta reponse mais en fait j'ai une image en 16 bits et non 8 bits.Donc je veux tracer mon histogramme sur la plage de mes pixels.
    Juste une question de precision:
    * Avant d'afficher mes images j'ai fait une convertion des valeurs des pixels entre 0 et 255 , mais ça si j'ai bien compris c'est juste pour l'affichage?? Mais aprés je peux tracer mon histogramme avec mes vrais valeurs des pixels car j'ai en besoin pour faire un traitement derriere tout ça??
    Donc c'est pourquoi j'ai fait cette premiere algo qui considére les vraies valeurs de mes pixels et non les valeurs comprises entre 0 et 255!
    * Une autre question est que si j'ai bien compris les valeurs entre 0 et 255 ce sont les veleurs en niveaux de gris pour l'affichage mais aussi mes vrais valeurs aussi ce sont des valeurs en niveaux de gris?

    Si quelqu'un peut m'éclaircir svp??
    Merci d'avance.

  4. #4
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 219
    Points : 226
    Points
    226
    Par défaut
    j'ai une image en 16 bits et non 8 bits
    Alors remplace les "256" par "65536".


    ça si j'ai bien compris c'est juste pour l'affichage
    Les écrans ne peuvent afficher que 8bit en niveaux de gris oui.


    Mais aprés je peux tracer mon histogramme avec mes vrais valeurs des pixels car j'ai en besoin pour faire un traitement derriere tout ça??
    Dans ce cas il faut que tu fasses une copie de ton image: une en 8bit, et l'autre en 16bit, ou que tu calcules ton histogramme avant conversion.


    Une autre question est que si j'ai bien compris les valeurs entre 0 et 255 ce sont les veleurs en niveaux de gris pour l'affichage mais aussi mes vrais valeurs aussi ce sont des valeurs en niveaux de gris?
    Et la je ne comprend rien à ce que tu as écris.

Discussions similaires

  1. Algo pour tracer un rectangle en 3D
    Par sylvain230 dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 05/04/2011, 16h33
  2. Réponses: 2
    Dernier message: 02/06/2006, 20h17
  3. Déterminer Algo pour une formule mathématique
    Par jekyll_omiwane dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/01/2005, 18h28
  4. Recherche de source pour tracer des codes barres
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/10/2004, 16h05
  5. Algo pour écrire un chiffre
    Par Skyw4lKR dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 11/08/2004, 13h32

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