Pafnouti Voir le profil de Pafnouti
Posté le 7 janvier 2012 à 19:49:37 Avertir un administrateur
Ben ce que j'ai écris ça remplace tous les pixels du cadre 3*3 par la moyenne.
Ah oui merde, je croyais que ce que tu me disais c'était pour parcourir l'image en fait. Mais du coup il faudrait que je l'implante où là dedans ?
//On parcourt toute l'image
for(int x=0; x<src->width; x++)
{
for(int y=0; y<src->height; y++)
{
//On remet la moyenne à zéro
moyenne=0;
//On centre le voisinage sur le pixel en cours
roi.x= x - (voisinage-1)/2;
roi.y= y - (voisinage-1)/2;
//On initialise la région d'intérêt
cvSetImageROI(src, roi);
//On parcourt le voisinage
for(int i=0; i<voisinage; i++)
{
for(int j=0; j<voisinage; j++){
//On récupère les valeurs du voisinage que l'on additionne
scalaire = cvGet2D(src, j, i);
moyenne+= scalaire.val[0];
}
}
//On relâche la région d'intérêt
cvResetImageROI(src);
//On calcule la moyenne
scalaire.val[0] = moyenne/(voisinage*voisinage);
//On la remplace dans l'image de destination
cvSet2D(dst, y, x, scalaire);
}
}