首页 > 编程知识 正文

理想低通滤波器稳定吗,理想低通滤波器的频域特性

时间:2023-05-05 23:34:02 阅读:134928 作者:3458

文章目录理想低通滤波器理想高通滤波器总结:

在matlab中,处理频域图像的过程大致如下。

1 .对图像进行傅立叶变换。

2 .将频域图像中心化(即,将0频率表示为图像中心)以便于构建滤波器)。

3 .设计所需的频域滤波器

4 .用频域图像和滤波器相乘

5 .去中心化

6 .返回空间域

理想低通滤波器

空域低通滤波器可以通过构造n*n的低通滤波器,并调用imfilter函数来实现。

学习《信号与系统》或《数字信号处理》的学生知道时域卷积等效于频域乘法。 因此,本文通过在频域的操作,实现理想的低通滤波器。

理想的低通滤波器频域表现如下。

h(u,v ) )、whend0、whend0) h ) u,v ) )、begin ) bmatrix ) 1、whend_0)、whenddd_0(、whendd_0(end )

} H(u,v)={1,0,​​whenwhen​D<D0​D>D0​​}
其形状为:

下面,我们给出matlab中的代码,测试理想低通滤波的效果:

a=imread('aft.jpg');a=rgb2gray(a);%转换为灰度图subplot(1,2,1);imshow(a);title('原图');a=im2double(a);%为了处理方便,转换为double类型b=fft2(a);%傅里叶变换b=fftshift(b);%中心化%下面是求理想低通滤波器[m,n]=size(a);H=zeros(m,n);cx=m/2;cy=n/2;D0=90;%设置滤波器for x=1:m for y=1:n if((x-cx)^2+(y-cy)^2)>(2*D0^2); H(x,y)=0; else H(x,y)=1; end endendc=H.*b;d=ifftshift(c);%反中心化e= ifft2(d);%回到空间域subplot(1,2,2);imshow(e);title('低通滤波之后');

实验结果图为:
原图:

效果图:

通过观测我们可以看出,处理之后的图像变得模糊,达到了低通滤波的效果,实现了低通滤波。

理想高通滤波

而频域内理想高通滤波的原理同低通类似,只是滤波器的设计相反:
H ( u , v ) = { 0 , w h e n D < D 0 1 , w h e n D > D 0 } H(u,v)=begin{Bmatrix} 0, & &when&D< D_0\1, & & when&D> D_0 \ end{Bmatrix} H(u,v)={0,1,​​whenwhen​D<D0​D>D0​​}

滤波器的效果图为:

这里不在赘述代码,直接放出高通滤波的结果图:

相较于原图,图像轮廓清晰了很多,达到了图像增强的效果,实现了理想高通滤波。

总结:

本文讲述了基于matlab的频域处理图像的基本思路,并实现了理想低通滤波与理想高通滤波。安详的朋友滤波、均值滤波的实现思路大同小异,只不过是更换不同的频域滤波器。。。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。