傅里叶变换
img=imread('RADU}4W~M9]09V7Q)ZQ5%~7.png');
%img=double(img);
f=fft2(img); %傅里叶变换
f=fftshift(f); %使图像对称
r=real(f); %图像频域实部
i=imag(f); %图像频域虚部
margin=log(abs(f)); %图像幅度谱,加log便于显示
phase=log(angle(f)*180/pi); %图像相位谱
l=log(f);
subplot(2,2,1),imshow(img),title('源图像');
subplot(2,2,2),imshow(l,[]),title('图像频谱');
subplot(2,2,3),imshow(margin,[]),title('图像幅度谱');
subplot(2,2,4),imshow(phase,[]),title('图像相位谱');
http://www.doczj.com/doc/1c15004dfe00bed5b9f3f90f76c66137ef064f74.html/s/blog_1667198560102wmzu.html
傅里叶变换
I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像
I = rgb2gray(I);%将图像进行灰度处理
J = fft2(I);%将图像实行傅里叶变换
figure,imshow(I);%这里能得到频谱图
J = fftshift(J);
figure,imshow(log(abs(J)),[]); %将频谱平移
J(abs(J)<5)=0;%不必要的过滤掉
figure,imshow(log(abs(J)+eps),[]);
J = ifftshift(J);K = ifft2(J);figure,imshow(K,[0 255]);%傅里叶逆变换
自己所写的代码
I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像
J = fft2(I); %将图像实行傅里叶变换figure,imshow(I); %这里能得到频谱图
J = fftshift(J);
figure,imshow(log(abs(J)),[]); %将频谱平移
J(abs(J)<5)=0; %不必要的过滤掉figure,imshow(log(abs(J)+eps),[]);
J = ifftshift(J);K = ifft2(J);
ss=real(ifft2(J));sss=uint8(ss);subplot(1,2,2);
imshow(sss)
figure,imshow(K,[0 255]); %傅里叶逆变换