X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fnlsop.git;a=blobdiff_plain;f=dft.c;h=3c6470084c0fbecfcbc5356d583488c786427e48;hp=c4fe5669d8e33f1cf211261d9d485802177d7391;hb=db268eab69af21ab1eecdeeeeb8b8932ef5ebd71;hpb=a71739ce82f5083a58f4ed387566c391581e1ac4 diff --git a/dft.c b/dft.c index c4fe566..3c64700 100644 --- a/dft.c +++ b/dft.c @@ -12,6 +12,7 @@ int main(int argc,char **argv) { t_fourier fourier; t_bmp src; t_bmp dst; + t_bmp cut; int x,y; int offy,offt; int scale; @@ -20,16 +21,21 @@ int main(int argc,char **argv) { bmp_init(&src,1); bmp_init(&dst,1); + bmp_init(&cut,1); src.mode=READ; dst.mode=WRITE; + cut.mode=WRITE; strcpy(src.file,argv[1]); strcpy(dst.file,argv[2]); + strcpy(cut.file,argv[3]); fourier_init(&fourier,1); fourier.type=DFT|FWD; fourier.dim=2; bmp_read_file(&src); + bmp_cut_bottom(&cut,&src,150); + bmp_write_file(&cut); dst.width=src.info.width; dst.height=src.info.height; @@ -62,25 +68,33 @@ int main(int argc,char **argv) { // copy back the data, intensity = sqrt(r^2+i^2) max=0; - offy=0; + offt=0; for(y=0;ymax) max=mag[offt]; + offt+=1; } - offy+=fourier.data_len[0]; } + printf("found max: %f\n",max); + if(max!=0) scale=(int)255/max; else scale=0; if(scale!=0) { printf("scaling image intensity: %d\n",scale); - for(x=0;x