Bonjour à tous,

J'essaie de pixeliser une image en suivant l'énoncé suivant : Ecrire une méthode qui prend en paramètre un nombre entier N et qui transforme l'image de départ en formant des "agglomérats" de taille NxN. La couleur du "pavé" correspondant est déterminé par la moyenne arithmétique des couleurs présentes dans les N*N pixels.

Je ne parviens pas à arriver au bon résultat. J'ai réussi à faire une pixellisation simple sans faire la moyenne.

Mon image est sous forme d'une matrice[colonne][ligne] avec des pixels qui ont leurs couleurs avec les trois composantes RVB.

Voici ma boucle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int y = 0; y + N <= nombreLignes; y+= N){
        for (int x = 0; x + N <= nombreColonnes; x+= N){
                // Récupération des composantes couleurs du pixel
       		r = matrice[x][y].getCouleurRouge();
       		v = matrice[x][y].getCouleurVert();
       		b = matrice[x][y].getCouleurBleu();
 
		for (int k = y; k < y + N; k++){
			for (int l = x; l < x + N; l++){
				matrice[l][k] =  Pixel(r, v, b, l, k);
			}
		}
	}
}
Si vous avez une idée n'hésité pas.

Merci de votre aide