燕 山 大 学 课 程 设 计 说 明 书
图1 理想低通滤波器处理结果
2. Butterworth低通滤波器
I1=imread('C:\\Users\\Administrator\\Desktop\\Miss256G.bmp'); subplot(221),imshow(I1); xlabel('a原始图像');
f=double(I1);%强制数据类型转换 转换为double型 g=fft2(f);%图像傅里叶转换? g=fftshift(g);%傅里叶变换平移
F2=log(abs(g));%对傅里叶变换结果取绝对值,然后取对数?
subplot(222),imshow(F2,[],'InitialMagnification','fit');%将计算后的矩阵用图像表示
xlabel('b原始图像的傅里叶变换对数图像'); [N1,N2]=size(g);%傅里叶变换图像尺寸 n=2;%参数赋初始值 d0=10;
n1=fix(N1/2);%数据圆整? n2=fix(N2/2);%数据圆整? for i=1:N1%遍历图像像素? for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2); if d==0
4
燕 山 大 学 课 程 设 计 说 明 书
h=0; else
h=1/(1+(d/d0)^(2*n)); end
result(i,j)=h*g(i,j);%图像矩阵计算处理? end end
F3=log(abs(result));%对傅里叶变换结果取绝对值,然后取对数? subplot(223),imshow(F3,'InitialMagnification','fit'); xlabel('c滤波后的傅里叶变换图像') result=ifftshift(result); X2=ifft2(result);
X3=uint8(real(X2));%把double型矩阵变换为uint8型 subplot(224),imshow(X3)
xlabel('dButterworth低通滤波图像');
图2 Butterworth低通滤波器处理结果
3.高斯低通滤波器
I=imread('C:\\Users\\Administrator\\Desktop\\Miss256G.bmp');%读取图像 subplot(221),imshow(I); xlabel('原始图像'); s=fftshift(fft2(I));
F2=log(abs(s)); %对傅里叶变换结果取绝对值,然后取对数?
5
燕 山 大 学 课 程 设 计 说 明 书
subplot(222),imshow(F2,[],'InitialMagnification','fit'); xlabel('b原始图像的傅里叶变换对数图像');
[M,N]=size(s); %分别返回s的行数到M中,列数到N中 d0=10; %初始化d0
n1=floor(M/2); %对M/2进行取整 n2=floor(N/2); %对N/2进行取整 for i=1:M for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h=1*exp(-1/2*(d^2/d0^2)); %高斯低通滤波函数
s(i,j)=h*s(i,j); %高斯低通滤波后的频域表示 end end
F3=log(abs(s)); %对傅里叶变换结果取绝对值,然后取对数 subplot(223),imshow(F3,'InitialMagnification','fit'); xlabel('c滤波后的傅里叶变换图像')
s=ifftshift(s); %对s进行反FFT移动 s=uint8(real(ifft2(s))); %创建图形图像对象
subplot(224),imshow(s); %显示GLPF滤波处理后的图像
xlabel('d高斯低通滤波图像'); %为经GLPF滤波后的图像添加标题
图3 高斯低通滤波器处理结果
6
燕 山 大 学 课 程 设 计 说 明 书
第三章比较差异
图4 相同条件下三种滤波器的图像
由图中可以得到,在相同的参数条件下,三种不同的平滑滤波器滤波后所得
到的图像是不一样的,在这三种平滑滤波器中Butterworth低通滤波器滤波后的傅里叶变换图像最大,其次是高斯低通滤波器,最小的即为理想低通滤波器,而对于滤波图像而言,高斯低通滤波器所得到图像在三个图像里面最清晰,其次是Butterworth低通滤波器,最模糊的是理想低通滤波器。
对于平滑效果来说,图像越模糊,平滑效果越好,所以由图中可以得到理想低通滤波器的平滑效果最好,其次是Butterworth低通滤波器,高斯低通滤波器的平滑效果最差。
7
燕 山 大 学 课 程 设 计 说 明 书
图5 选定的滤波器不同参数的图像
对于选定的高斯低通滤波器改变d的值会改变图像处理的效果,d的值越大
滤波后的傅里叶变换图像越大,所得到的高斯低通滤波图像就越清晰。此结论对于Butterworth低通滤波器和理想低通滤波器同样适用。
8