[C++]Problème de boucle
Bonjour,
j'aurai besoin d'aide sur l'écriture des boucles et les incrémentations pour aboutir au résultat demandé.
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
Pour le reste, je saurai me débrouiller.
Merci
j'aurai besoin d'aide sur l'écriture des boucles et les incrémentations pour aboutir au résultat demandé.
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
Pour le reste, je saurai me débrouiller.
Merci
A voir également:
- [C++]Problème de boucle
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Problème xiaomi redmi note 8t s'allume et s'éteint vibre - Forum Xiaomi
1 réponse
La première étape c'est d'isoler un carré de taille N à partir d'un pixel (i,j). Ca consiste donc à isoler le carré lignes i à N+i et colonnes j à N+j;
Ensuite étant donné un carré de taille N, faire la moyenne arithmétique revient à sommer les termes du carré et les diviser par N² :
Bonne chance
void extract(unsigned int N,unsigned int i,unsigned int j,int **matrix, int **agg){ unsigned int x,y; for(y=i;y<i+N;++y){ for(x=j;x<j+N;++x){ // agg doit être alloué sinon segmentation fault // matrix[x][y] doit exister sinon segmentation fault agg[i][j] = matrix[x][y]; } } }
Ensuite étant donné un carré de taille N, faire la moyenne arithmétique revient à sommer les termes du carré et les diviser par N² :
int arith_mean(unsigned int N,int **matrix){ unsigned int x,y,sum=0; for(y=0;y<N;++y){ for(x=0;x<N;++x){ // matrix[x][y] doit exister sinon segmentation fault sum += matrix[x][y]; } } return sum / (N * N); }
Bonne chance