joujoualg
Messages postés4Date d'inscriptionvendredi 17 avril 2015StatutMembreDernière intervention23 avril 2015
-
22 avril 2015 à 21:33
joujoualg
Messages postés4Date d'inscriptionvendredi 17 avril 2015StatutMembreDernière intervention23 avril 2015
-
23 avril 2015 à 23:11
Bonsoir,
j'aimerai savoir comment calculer la moyenne (M=1/N ? I(x,y)) et l'ecart-type (?=sqrt(?? ^2-M^2 )) d'une image en java.
?? ^2 ==1/N ?(I(x,y))^2
merci d'avance
KX
Messages postés16727Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention 2 décembre 2023126 22 avril 2015 à 22:05
Bonjour,
J'imagines que tu veux dire :
moyenne M = 1/N . ∑ I(x,y)
écart type σ = √ [1/N . ∑ I(x,y)² - M²]
Mais :
que vaut I(x,y) par rapport à l'image ?
quel est le problème pour que tu n'arrives pas à faire ça en Java ?
joujoualg
Messages postés4Date d'inscriptionvendredi 17 avril 2015StatutMembreDernière intervention23 avril 2015 22 avril 2015 à 23:18
I(x,y) vaut dire les pixels de l'image normalement.
je suis débutante en Java et je ne sais pas comment sort les pixels de l'images pour le calcule.
KX
Messages postés16727Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention 2 décembre 2023126
>
joujoualg
Messages postés4Date d'inscriptionvendredi 17 avril 2015StatutMembreDernière intervention23 avril 2015 23 avril 2015 à 08:20
Pour récupérer la couleur du pixel (x,y) d'une image tu peux faire :
BufferedImage img = ImageIO.read(new File("C:/test.png"));
Color clr = new Color(img.getRGB(x,y));
Mais cela va te renvoyer une couleur, et faire la moyenne de plusieurs couleurs ça n'a pas de sens...
La moyenne, ou l'écart type s'appliquent à des nombres, il faut donc que I(x,y) soit un nombre pour pouvoir faire les calculs dessus.
joujoualg
Messages postés4Date d'inscriptionvendredi 17 avril 2015StatutMembreDernière intervention23 avril 2015
>
KX
Messages postés16727Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention 2 décembre 2023 Modifié par joujoualg le 23/04/2015 à 22:02
Ce programme est correcte?
protected int Moyenne()
{
int [][] pixel= new int[monImage.getWidth()][monImage.getHeight()];
int x,y;
int somme = 0;
int monImage[][];
int Width;
int Height;
for (x=0; x < Width -1; x++) {
for(y=0; y < Height-1;y++ )
{
somme= somme+ monImage[x][y];
}
}
return Moyenne= somme/(width*height);
}
KX
Messages postés16727Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention 2 décembre 2023126
>
joujoualg
Messages postés4Date d'inscriptionvendredi 17 avril 2015StatutMembreDernière intervention23 avril 2015 23 avril 2015 à 22:04
Avant de poster ton code sur le forum, ce serait bien de le tester.
N'importe quel compilateur Java va tout de suite te sortir un grand nombre d'erreurs liées à ce code...
22 avril 2015 à 23:18
je suis débutante en Java et je ne sais pas comment sort les pixels de l'images pour le calcule.
23 avril 2015 à 08:20
Mais cela va te renvoyer une couleur, et faire la moyenne de plusieurs couleurs ça n'a pas de sens...
La moyenne, ou l'écart type s'appliquent à des nombres, il faut donc que I(x,y) soit un nombre pour pouvoir faire les calculs dessus.
Modifié par joujoualg le 23/04/2015 à 22:02
23 avril 2015 à 22:04
N'importe quel compilateur Java va tout de suite te sortir un grand nombre d'erreurs liées à ce code...
Modifié par joujoualg le 23/04/2015 à 23:20