傅里叶变换的Matlab代码

傅里叶变换的Matlab代码:

img=imread('e:/4.jpg'); subplot(2,2,1),imshow(img); f=rgb2gray(img); subplot(2,2,2),imshow(f); %二维傅里叶变换 F=fft2(f); FS=fftshift(F); %频谱 S=log(1+abs(FS)); subplot(2,2,3);imshow(S,[]); %% 二维傅里叶逆变换 fr=real(ifft2(ifftshift(FS))); ret=im2uint8(mat2gray(fr)); subplot(2,2,4),imshow(ret); 

 

所参考的程序:

[i,lcmp]=imread('f:/tank.bmp');%=======读取图像 显示图像 imshow(i,lcmp); ii=im2double(i); %=====将图像矩阵类型转换为double(图像计算很多是不能用整型的) i1 = fft2(ii); %======傅里叶变换 i2 =fftshift(i1); %======将变换的频率图像四角移动到中心(原来良的部分在四角 现在移动中心,便于后面的处理) i3=log(abs(i2)); %=====显示中心低频部分,加对数是为了更好的显示 程序一 figure,imshow(i3,[]); colormap(lcmp); imwrite(i3,lcmp,'f:/ffttank.bmp'); %===将上面i3输入到ffttank文件

你可能感兴趣的:(数字图像处理)