Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1089 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  calculer l'histogramme d'une image par java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

calculer l'histogramme d'une image par java

n°258925
info2002
Posté le 02-12-2002 à 15:02:21  profilanswer
 

comment on calcule l'histogramme d'une image par java ..

mood
Publicité
Posté le 02-12-2002 à 15:02:21  profilanswer
 

n°259032
El_gringo
Posté le 02-12-2002 à 16:19:51  profilanswer
 

info2002 a écrit a écrit :

comment on calcule l'histogramme d'une image par java ..




 
C'est quoi que t'appels l'histogramme d'une image ?

n°259203
Toucouch
Posté le 02-12-2002 à 19:04:00  profilanswer
 

Ben, je ne suis pas un pro du java, mais si tu peux accéder aux valeurs de chaque pixel de l'image, tu n'a plus qu'à faire un tableau et compter les occurences de chaque valeurs, non?
 
Genre, pour une image en 256 niveaux de gris:

Code :
  1. - initialiser à 0 un tableau T de 256 cases
  2. - pour chaque pixel p faire
  3.    - v <- valeur du pixel p
  4.    - T[v] <- T[v] + 1
  5.    - fait
  6. - enregistrer ou représenter le contenu du tableau T


 
Mais peut-être ai-je mal compris le but de la question...
 
 
Edit: Balises de code


Message édité par Toucouch le 02-12-2002 à 19:04:35
n°259488
info2002
Posté le 03-12-2002 à 09:17:41  profilanswer
 

comment je peux calculer l'histogramme d'une image coloré(RGB),
s'il est possible...

n°259490
El_gringo
Posté le 03-12-2002 à 09:21:59  profilanswer
 

faudra surement que t'utilises JAI.  
Vas voir sur le site de sun

n°260516
vink
Posté le 04-12-2002 à 11:27:23  profilanswer
 

faut que tu définisses des procédures pour récuppérer que la composante bleue, que la rouge et que la verte.
 
Ensuite, à chaque fois que tu prends un ppixel, tu étudies sa valeur rouge(puis verte, puis bleue) et tu incrémente la valeur équivalente dans un tableau.
 
ex: si tu trouves la valeur Rouge=130, tu incrémentes la case correspondante: TableauRouge[130]++
 
:D
 
C'est pour quoi que tu as besoin de ça ? parce que j'ai réalisé en cours un projet qui y ressemble. 9a traite des images, leur applique des filtres, calcule des histogrammes, crées des fichiers (.csv pour les histogrammes et .raw pour les images),  etc...


---------------
Nos seules limites sont celles que nous nous imposons
n°260585
gm_superst​ar
Appelez-moi Super
Posté le 04-12-2002 à 12:04:33  profilanswer
 

Pas besoin de JAI. Il faut utiliser les méthodes getRGB() de BufferedImage :
 
n = monImage.getRGB(x, y);
 
n est entier qui représente la valeur du pixel de coordonées x et y.
 
Ensuite pour récupérer les composantes rouges, vertes et bleues on peut faire comme ça :
 

Code :
  1. int bleu = n & 0xff;
  2. int vert = (n >> 8) & 0xff;
  3. int rouge = (n >> 16) & 0xff;


 
Ensuite il faut remplir 3 tableaux disctincts comme l'a dit vink.


Message édité par gm_superstar le 04-12-2002 à 12:05:10

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°260600
info2002
Posté le 04-12-2002 à 12:44:53  profilanswer
 

je te remercie , j'ai essayé avec votre proposition , j'ai essayé d'afficher les valeurs bleu , rouge , vert , il me donne 0 , 0 ,0 c'est , je ne sais pas , avant de les recupérer ds les tableaux rouge , vert,...,


Message édité par info2002 le 04-12-2002 à 12:45:23
n°260603
info2002
Posté le 04-12-2002 à 12:51:00  profilanswer
 

j'ai besoin de ca pour comparer deux images colorés (histogrammes) , pouvez vous m'expliquer ce que tu as fait , si vous avez de documentation sur le calcul d'histogramme coloré et la comparison , aider moi svp ...

n°260607
info2002
Posté le 04-12-2002 à 12:56:30  profilanswer
 

pour l'initialisation de BufferedImage , on fait seulement ca ,  
buff = new BufferedImage( img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB );
img : nom image recupérer , u il faut ajouter d'autre chose avant de faire buff.gerRGB(),..

mood
Publicité
Posté le 04-12-2002 à 12:56:30  profilanswer
 

n°260609
gm_superst​ar
Appelez-moi Super
Posté le 04-12-2002 à 13:06:39  profilanswer
 

Pour constituer tes tableaux tu dois boucler sur TOUS les pixels de ton image (2 for imbriqués). Mais si tu ne montres pas le code complet de ce que tu fais ça va être dur...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°260611
vink
Posté le 04-12-2002 à 13:10:59  profilanswer
 

Si t'as 0,0,0, c'est que le seul pixel sur lequel tu as fait ton traitement est noir.


---------------
Nos seules limites sont celles que nous nous imposons
n°260614
info2002
Posté le 04-12-2002 à 13:15:28  profilanswer
 

voici le code , comment je peux calculer l'histgramme de l'image , s'il est possible            
 
 
 
 
 
 
 
 img =getToolkit().getImage("gauche.gif" );
         
                    m.addImage(img,1);
         
         try {
         m.waitForID(1);
         }
         catch (InterruptedException e)
         {
  System.err.println("Erreur: "+e)  ;  
           
         }  
 
BufferedImage buff = new BufferedImage( img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB );
 
 
         
                   int w = buff.getWidth();
                          int h = buff.getHeight();        
 
System.err.println("la taille : "+buff.getMinTileX())  ;  
 
int n;
int bleu ,int vert;
int rouge;
         
           
for(int i=0;i<w;i++)
 n=0;      
 
for(int j=0;j<h;j++)
{  n =buff.getRGB(i, j);
bleu = n & 0xff;
  vert = (n >> 8) & 0xff;
 rouge = (n >> 16) & 0xff;  
 
        System.err.println("la taille : "+bleu)  ;  
      System.err.println("la taille : "+vert)  ;  
      System.err.println("la taille : "+rouge)  ;              
             
             
           }            
          }
         

n°262819
vink
Posté le 06-12-2002 à 11:30:21  profilanswer
 

Tu crées des tableaux de 256 valeurs pour chaque couleur, et à la fin, tu ajoutes:
 
TableauB[bleu]++
TableauV[vert]++
TableauR[rouge]++
 
Quand tu as fini, tu as trois histogrammes: 1 pour chaque couleur.
 
a la lecture d'un tableau, tu auras, par exemple:
TableauB[25]=586, ce qui signifie que 586 pixels ont un valeur Bleu=25
 
:D


---------------
Nos seules limites sont celles que nous nous imposons
n°294625
El_gringo
Posté le 27-01-2003 à 09:36:46  profilanswer
 

info2002 a écrit :

voici le code , comment je peux calculer l'histgramme de l'image , s'il est possible            
 
 
 
 
 
 
 
 img =getToolkit().getImage("gauche.gif" );
         
                    m.addImage(img,1);
         
         try {
         m.waitForID(1);
         }
         catch (InterruptedException e)
         {
  System.err.println("Erreur: "+e)  ;  
           
         }  
 
BufferedImage buff = new BufferedImage( img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB );
 
 
         
                   int w = buff.getWidth();
                          int h = buff.getHeight();        
 
System.err.println("la taille : "+buff.getMinTileX())  ;  
 
int n;
int bleu ,int vert;
int rouge;
         
           
for(int i=0;i<w;i++)
 n=0;      
 
for(int j=0;j<h;j++)
{  n =buff.getRGB(i, j);
bleu = n & 0xff;
  vert = (n >> 8) & 0xff;
 rouge = (n >> 16) & 0xff;  
 
        System.err.println("la taille : "+bleu)  ;  
      System.err.println("la taille : "+vert)  ;  
      System.err.println("la taille : "+rouge)  ;              
             
             
           }            
          }
         


 
heu... il est juste ce code ? j'vois pas l'endroit où est fait le lien entre l'image récupérée par ToolKit.getImage, et la BufferedImage sur laquelle les données sont récupérées...

n°295156
--greg--
Posté le 27-01-2003 à 23:42:48  profilanswer
 

El_gringo a écrit :


 
heu... il est juste ce code ? j'vois pas l'endroit où est fait le lien entre l'image récupérée par ToolKit.getImage, et la BufferedImage sur laquelle les données sont récupérées...

c koi ce vieux up là  :heink:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°295256
El_gringo
Posté le 28-01-2003 à 09:33:28  profilanswer
 

--greg-- a écrit :

c koi ce vieux up là  :heink:  


 
C pas un "up", je pose une question. J'utilise le forum entant que base de connaissances...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  calculer l'histogramme d'une image par java

 

Sujets relatifs
[ JAVA ] probleme avec un servlet dans tomcatThumbnails a Image grand format
Version de JavaComment on dit "si" en Java Script ? :D
Stretch d'image, j'y arrive pas ...[java] appel d'une méthode de la classe maman
chown/chmod en Java ?[newbie] comment marche la commande java dans la console?
Mise en page de Code (Java)En quoi java est pratique pour programmer des trucs qui interagissent
Plus de sujets relatifs à : calculer l'histogramme d'une image par java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR