ImageLab 快速傅里叶变换
floatdata2d Re,Im;
ucdata2d Ret;
SetDim(Re, 512, 400);
SetDim(Im, 512, 400);
SetDim(Ret, 512, 400);
##图像的大小为512*400
Load(122.bmp, R, G, B, A);
Re=R;
##将矩阵增大为512*512,2^9,延拓方式为镜像延拓。方便FFT
MakeIma2n(Re,mirror);
MakeIma2n(Im,mirror);
##下面都是对二维傅里叶变换进行的操作
FFT(Re,Im);
FFTShift(Re,Im);
##对Re和Im进行如下操作,sqrt(Re*Re + Im*Im)
Operand(Re,Im,powaddsqrt);
##将Re转化为Ret,假设Re最大最小值为Min,Max,窗宽窗位确定方式为NewMin = Min + 0.0*(Max-Min),NewMax = Max - 0.99*(Max-Min);
##ToUc最后一个参数为0
ToUc(Re,Ret,0.0,0.99,0);
Save(fft.bmp, "gray", Ret);
##Save(FFTA.raw, Re, flt, G, B);