/* noise.c */ #include #include #include #include #include #define IX 256 #define IY 256 #define PI 3.141592 void main( void ) { FILE *fpr,*fpw; FILE *fopen(); unsigned char *ip; double t, data; int bip, i, j; ip = (unsigned char *)malloc( IX*IY, sizeof(unsigned char) ); /* NOTE!! (j:suffix for row, i:suffix for column) */ fpr = fopen("myarea.gray","rb"); fpw = fopen("noised.gray","wb"); fread(ip,IX*IY*sizeof(unsigned char),1,fpr); t = 1.0/IX; /* Period of signal */ for (j=0; j < IY; j++){ data = 0.0; for (i=0; i < IX; i++){ data = ip[i] + 40.0* cos(2*PI * 34*t * i) + 20.0 * sin(2*PI * 65*t * j); bip = data; if (bip > 255) bip = 255; if (bip < 0 ) bip = 0; fputc(bip,fpw); } ip += IX; } fclose(fpr); fclose(fpw); }