当前位置:文档之家› 三种不同平滑滤波器对比

三种不同平滑滤波器对比

燕山大学 课 程 设 计 说 明 书

题目:几种平滑滤波器的作用与对比试验设计

学院(系): 电气工程学院 年级专业: 学 号: 学生姓名: 指导教师: 教师职称: 目录 第一章 平滑滤波器...................................................................................................... 1 第二章 处理程序和处理结果...................................................................................... 3 第三章 比较差异.......................................................................................................... 7 第四章 总结.................................................................................................................. 9 参考文献........................................................................................................................ 9 燕 山 大 学 课 程 设 计 说 明 书

1 第一章平滑滤波器

滤波的本义是指信号有各种频率的成分,滤掉不想要的成分,即为滤掉常说的噪声,留下想要的成分,这即是滤波的过程。 所谓目的:一是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。 各类图像处理系统在图像的采集、获取、传送和转换(如成像、复制扫描、传输以及显示等)过程中,均处在复杂的环境中,光照、电磁多变,所有的图像均不同程度地被可见或不可见的噪声干扰。噪声源包括电子噪声、光子噪声、斑点噪声和量化噪声。如果信噪比低于一定的水平,噪声逐渐变成可见的颗粒形状,导致图像质量的下降。除了视觉上质量下降,噪声同样可能掩盖重要的图像细节,在对采集到的原始图像做进一步的分割处理时,我们发现有一些分布不规律的椒盐噪声,为此采取相应的对策就是对图像进行必要的滤波降噪处理。图像的噪声滤波器有很多种,常用的有线性滤波器,非线性滤波器。采用线性滤波如邻域平滑滤波,对受到噪声污染而退化的图像复原,在很多情况下是有效的。但大多数线性滤波器具有低通特性,去除噪声的同时也使图像的边缘变模糊了。而另一种非线性滤波器如中值滤波,在一定程度上可以克服线性滤波器所带来的图像模糊问题,在滤除噪声的同时,较好地保留了图像的边缘信息。这些滤波都是通过平滑滤波器来实现的。 平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。所谓平滑滤波是指对一些不平滑的信号做处理,使它变平滑。那什么是不平滑呢,就是在示波器上看起伏不平的信号,最典型的就是交流整流后的脉动信号。这些随时间起伏不平变化的信号成分在频率上代表一些高频率的成分,上升下降越快,则表示频率越高。平滑滤波就是要把它们弄平,把它们弄得不再随时间变化,或者是变化很小,这种不随时间再变化,或者随时间变化很小的信号就是频率非常低的信号,使它们成为低频信号,在整流滤波上,就基本上直流信号,其中只含有非常少的成分随时间变化。所以平滑滤波与低通滤波说法差别不大,平滑滤波大多用在整流滤波上,一般可以理解成一个概念的不同描述方法。 图像在传递过程中,由于噪声主要集中在高频部分,为去除噪声改善图像质量,滤波器采用低通滤波器H(u,v)来抑制高频成分,通过低频成分,然后再进行逆傅立叶变换获得滤波图像,就可达到平滑图像的目的 根据任务要求在此选择研究理想低通滤波器、Butterworth低通滤波器、高斯低通滤波器三种滤波器来实现要求。 1.理想低通滤波器

设傅立叶平面上理想低通滤波器离开原点的截止频率为D0,则理想低通滤波器的传递函数:

00

1(,)(,)0(,)DuvDHuvDuvD



燕 山 大 学 课 程 设 计 说 明 书 2 式中,D(u,v)=(u2+v2)1/2 表示点(u,v)到原点的距离,D0 表示截止频率点到原点的距离。 2. Butterworth 低通滤波器 n 阶Butterworth 滤波器的传递函数为:

它的特性是连续性衰减,而不像理想滤波器那样陡峭变化。 3.高斯低通滤波器 高斯低通器传递函数: 222/),(),(vuDevuH

201(,)(,)1nHuvDuvD

燕 山 大 学 课 程 设 计 说 明 书

3 第二章 处理程序和处理结果

1.理想低通滤波器 I=imread('C:\Users\Administrator\Desktop\Miss256G.bmp'); subplot(221),imshow(I); xlabel('a原图像'); s=fftshift(fft2(I)); subplot(222),imshow(log(abs(s)),[]); xlabel('b图像傅里叶变换取对数所得频谱'); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=10; for i=1:a for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2); if distance<=d h=1; else h=0; end; s(i,j)=h*s(i,j); end; end; F3=log(abs(s)); %对傅里叶变换结果取绝对值,然后取对数? subplot(223),imshow(F3,'InitialMagnification','fit'); xlabel('c滤波后的傅里叶变换图像') s=uint8(real(ifft2(ifftshift(s)))); subplot(224),imshow(s); xlabel('d理想低通滤波图像'); 燕 山 大 学 课 程 设 计 说 明 书

4 图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 燕 山 大 学 课 程 设 计 说 明 书 5 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)); %对傅里叶变换结果取绝对值,然后取对数? 燕 山 大 学 课 程 设 计 说 明 书 6 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 高斯低通滤波器处理结果

相关主题