Вы находитесь на странице: 1из 1

void roberts(FILE *fic, FILE *fic2)

{
int gx,gy,ligne,col;
long g;
unsigned char ampl[250];
unsigned char data[207][250];

for(ligne=0;ligne<207;ligne++)
fread(&data[ligne][0],1,250,fic); // lecture de 99c.pgm

// ecriture dans roberts.pgm Gradient de Roberts

for(ligne=0;ligne<207;ligne++)
{
for(col=0;col<249;col++)
{
if (ligne==206) // rempli la 207eme ligne de la photo
ampl[col]=0;
else
{ // derivee en x
gx=data[ligne][col+1]-data[ligne][col];

// derivee en y

gy=data[ligne+1][col]-data[ligne][col];

// amplitude

g=sqrt((float)gx*gx+(float)gy*gy);
if (g>255) g=255;
ampl[col]=g;
}
}
ampl[249]=0; // rempli la colonne 249 de la photo
fwrite(&ampl[0],1,250,fic2);
}
}

Вам также может понравиться