/* FFT2fltr1_l.c */ #include #include #include #include "mypgm.h" #include "FFT1.h" #include "FFT2.h" void lowpass_filtering( ) { int i, j, max; printf("\nLowpass filtering is applied to FFT coefficients.\n"); max = num_of_data / 8; for (i = 0; i < num_of_data; i++) { for (j = 0; j < num_of_data; j++) { if (max <= i && i <= (num_of_data - max) || max <= j && j <= (num_of_data - max)) { data[i][j] = 0.0; jdata[i][j] = 0.0; } } } } main( ) { load_image_data( ); /* Input image load */ make_original_data( ); /* FFT arrays generation */ FFT2(1); /* 2-d FFT */ lowpass_filtering( ); /* filtering in frequency domain */ FFT2(-1); /* 2-d inverse FFT */ make_output_image( ); /* Image generation after IFFT */ save_image_data( ); /* Output image save */ return 0; }