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;
+ bmp_cut_grab_bottom(&cut,&src,src.info.width,GRAB);
+
+ dst.width=cut.width;
+ dst.height=cut.height;
bmp_alloc_map(&dst);
- fourier.data_len[0]=src.info.width;
- fourier.data_len[1]=src.info.height;
+ fourier.data_len[0]=cut.width;
+ fourier.data_len[1]=cut.height;
fourier_alloc_data(&fourier);
mag=(double *)malloc(fourier.data_len[0]*fourier.data_len[1]*sizeof(double));
offt=0;
for(y=0;y<dst.height;y++) {
for(x=0;x<dst.width;x++) {
+ // usual image processing order
offy=((y<dst.height/2)?y+dst.height/2:y-dst.height/2);
offy*=dst.width;
offy+=((x<dst.width/2)?x+dst.width/2:x-dst.width/2);
+ //offy=offt;
dst.map[offy].r=scale*mag[offt];
dst.map[offy].g=dst.map[offy].r;
dst.map[offy].b=dst.map[offy].r;