Soyez le premier à donner votre avis sur cette source.
Snippet vu 11 612 fois - Téléchargée 31 fois
void __fastcall TForm1::filtremdian1Click(TObject *Sender) { int tab[1000], filtre[100][100]; int median,m; CGauge1->MinValue=0; CGauge1->MaxValue=n; int taille, xy,pos; int passe=2; for(y=0;y<n;y++) for(x=0;x<h;x++) matsrc[x][y]=matdes[x][y]=Image1->Canvas->Pixels[x][y]; for(y=0;y<n-2;y++) { passe++; CGauge1->Progress=passe; for(x=0;x<h-2;x++) { taille=StrToInt(Edit1->Text); pos=taille/2; k=0; for(i=0;i<taille;i++) { for(j=0;j<taille;j++) { filtre[i][j]=matsrc[x+i][y+j]; tab[k]=filtre[i][j]; k++; } } xy=StrToInt(Edit1->Text)*StrToInt(Edit1->Text); for(g=0;g<xy;g++) for(k=0;k<xy;k++) if (tab[g]>tab[k]) { m=tab[k]; tab[k]=tab[g]; tab[g]=m; } // le milieu de chaque masque //5 pour 3x3 //13 pour 5x5 //25 pour 7x7 int mil=xy/2+1; median=tab[mil]; matdes[x+pos][y+pos]=median; } } for(y=0;y<n;y++) for(x=0;x<h;x++) Image2->Canvas->Pixels[x][y]=matdes[x][y]; } }
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.