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

Graphisme Java Discussion :

Génération de l'histogramme d'une image


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut Génération de l'histogramme d'une image
    salut tt le monde,
    je suis une débutante dans le traitement d'image en java, et je veux générer un histogramme d'une image j'ai essayé avec ce code source mais sans vain.Est ce qu'il y'a quelqu'un qui peut m'aider et me dire ou est l'erreur
    je travail avec eclipse et avec l'API JAI
    ******voici mon code source*********
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    import java.awt.Image;
    import java.awt.image.BufferedImage;
    import java.awt.image.PixelGrabber;
    import java.awt.image.renderable.ParameterBlock;
     
    import javax.media.jai.Histogram;
    import javax.media.jai.JAI;
    import javax.media.jai.PlanarImage;
    import javax.swing.ImageIcon;
     
    public class Creation {
        public static void main(String args[]){
     
             System.out.println("Creation de l'image");
     
                ImageIcon imageIcon = new ImageIcon("signature.JPG");
                Image imageTemp = imageIcon.getImage();
                BufferedImage image = new BufferedImage(imageTemp.getWidth(null), imageTemp.getHeight(null), BufferedImage.TYPE_BYTE_GRAY);
               image.getGraphics().drawImage(imageTemp, 0, 0, null);
             //  int[] valeur = image.getData().getPixel(x, y, (int[])null);
            //   int[] pixels = new int[image.getWidth() * image.getHeight()];
               PixelGrabber pg = new PixelGrabber(image, 0, 0, image.getWidth(), image.getHeight(), pixels, 0, image.getWidth());
               try {
               pg.grabPixels();
               } catch (InterruptedException e) {
               System.err.println("interrupted waiting for pixels!");
               }
     
                 // Set up the parameters for the Histogram object.
                 int[] bins = {256, 256, 256};             // The number of bins.
                 double[] low = {0.0D, 0.0D, 0.0D};        // The low value.
                 double[] high = {256.0D, 256.0D, 256.0D}; // The high value.
     
                 // Construct the Histogram object.
                 Histogram hist = new Histogram(bins, low, high);
     
                 // Create the parameter block.
                 ParameterBlock pb = new ParameterBlock();
                 pb.addSource(image);               // Specify the source image
                 pb.add(hist);                      // Specify the histogram
                 pb.add(null);                      // No ROI
                 pb.add(1);                         // Sampling
                 pb.add(1);                         // periods
     
                 // Perform the histogram operation.
                  dst = (PlanarImage)JAI.create("histogram", pb, null);
     
                 // Retrieve the histogram data.
                 hist = (Histogram) dst.getProperty("histogram");
     
                 // Print 3-band histogram.
                 for (int i=0; i< histogram.getNumBins(); i++) {
                    System.out.println(hist.getBinSize(0, i) + " " +
                                       hist.getBinSize(1, i) + " " +
                                       hist.getBinSize(2, i) + " " )
                 }
     
    }
    }

  2. #2
    Membre Expert Avatar de txuku
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 980
    Par défaut
    Bonjour Jrihab

    Je ne m y connais pas trop mais a premiere vue tu as un /* ... int[] pixels = new int[image.getWidth() * image.getHeight()];.... a la moitie de ton code qui n est pas ferme par un */

    ce qui fait que tout ce qui est apres ne sert a rien.

Discussions similaires

  1. Egalisation de histogramme pour une image
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 19/03/2009, 09h58
  2. problème d'affichage de l'histogramme d'une image
    Par tuunisiano dans le forum Simulink
    Réponses: 0
    Dernier message: 18/03/2009, 15h12
  3. Histogramme d'une image BMP en niveaux de gris?
    Par bahiatoon dans le forum C++Builder
    Réponses: 13
    Dernier message: 19/11/2008, 16h36
  4. histogramme d'une image coloré
    Par kachaloarmin dans le forum Imagerie
    Réponses: 1
    Dernier message: 13/11/2007, 19h49
  5. Réponses: 2
    Dernier message: 07/12/2006, 16h14

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