赞
踩
1、实验要求:对如下图像使用半径分别为5, 15, 30的理想低通滤波器进行处理,并分别显示结果图像。
2、实验过程:代码如下
%频率域滤波
clc;close all;
img=imread('1.tif');
img=im2double(img);
Fimg=fft2(double(img));%傅里叶变换
Fimg=fftshift(Fimg);%将变换的原点移到频率矩形的中心
[M,N]=size(img);
%半径为5的理想低通滤波处理
dist1=5;
z1=zeros(M,N);
for i=1:M
for j=i:N
if(sqrt(((i-M/2)^2+(j-N/2)^2))<dist1)
z1(i,j)=1;
end
end
end
g1=Fimg.*z1;
g1=ifftshift(g1);
img1=real(ifft2(g1));
%半径为15的理想低通滤波处理
dist2=15;
z2=zeros(M,N);
for i=1:M
for j=i:N
if(sqrt(((i-M/2)^2+(j-N/2)^2))<dist2)
z2(i,j)=1;
end
end
end
g2=Fimg.*z2;
g2=ifftshift(g2);
img2=real(ifft2(g2));
%半径为30的理想低通滤波处理
dist3=20;
z3=zeros(M,N);
for i=1:M
for j=i:N
if(sqrt(((i-M/2)^2+(j-N/2)^2))<dist3)
z3(i,j)=1;
end
end
end
g3=Fimg.*z3;
g3=ifftshift(g3);
img3=real(ifft2(g3));
%图像显示
subplot(2,2,1);imshow(img);title('原图');
subplot(2,2,2);imshow(img1);title('半径5的理想低通滤波');
imwrite(img1,'./半径5的理想低通滤波.png');
subplot(2,2,3);imshow(img2);title('半径15的理想低通滤波');
imwrite(img2,'./半径5的理想低通滤波.png');
subplot(2,2,4);imshow(img3);title('半径30的理想低通滤波');
imwrite(img3,'./半径5的理想低通滤波.png');
3、实验结果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。