实验三图像滤波_第1页
实验三图像滤波_第2页
实验三图像滤波_第3页
实验三图像滤波_第4页
实验三图像滤波_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三 图像滤波实验一、实验目的1.熟练掌握空域滤波中常用滤波器的原理;2.理解邻域平均、中值滤波降噪法等的图像增强原理; 3.加深对图像增强的认识,巩固所学图像增强理论知识和相关算法;4.利用MATLAB程进行图像滤波,观察增强效果。二、实验原理以图像平滑为例:图像平滑方法是一种实用的图像处理技术,能减弱或消除图像中的高频率分量,但不影响低频率分量。因为高频率分量主要对应图像中的区域边缘等灰度值较大变化较快的部分,平滑滤波将这些分量滤去可减少局部灰度起伏,使图像变得比较平滑。实际应用中,平滑滤波还可用于消除突发噪声,或者在提取较大目标前去除过小的细节或将目标内的小间断连接起来。 1. 邻域平

2、均法用窗口像素的平均值取代中心像素原来的灰度值。邻域的选取通常有4-邻域和8-邻域。 2. 中值滤波与加权平均方式的平滑滤波不同,中值滤波是抑制噪声的非线性处理方法。对于给定的n个数值a1,a2,an,将它们按大小有序排列。当n为奇数时,位于中间位置的那个数值称为这n各数值的中值。当n为偶数时,位于中间位置的两个数值的平均值称为这n个数值的中值。中值滤波,就是图像中滤波后的某像素输出值等于该像素邻域中各像素灰度的中值。 三、实验内容与步骤:按下面要求编写程序并运行对peppers.bmp图像添加零均值“高斯”噪声,用33或99滑动平均模板进行降噪处理,观察平均降噪图像的效果。1.对pepper

3、s.bmp图像添加零均值“高斯”噪声程序代码如下:I=imread(d:peppers.bmp);J=imnoise(I,gaussian,0,0.02);subplot(1,2,1);imshow(I);title(原图);subplot(1,2,2);imshow(J);title(加噪处理后的图);运行结果如下:2.用33滑动平均模板进行降噪处理,观察平均降噪图像的效果程序代码如下:I=imread(d:peppers.bmp);J=imnoise(I,gaussian,0,0.02);H,W=size(J);M=double(J);M1=M;for j=2:H-1 for k=2:W-

4、1M1(j,k)=M(j-1,k-1)+M(j-1,k)+M(j-1,k+1)+M(j,k-1)+M(j,k)+M(j,k+1)+M(j+1,k-1)+M(j+1,k)+M(j+1,k+1)/9; end;end;subplot(1,3,1);imshow(I);title(原图);subplot(1,3,2);imshow(J);title(加噪处理);subplot(1,3,3);imshow(uint8(M1),);title(3*3邻域平均降噪处理);运行结果如下:3.对peppers.bmp图像添加“椒盐”噪声,分别采用55的矩形、圆形及十字形窗口进行中值滤波处理,观察处理结果。(滤

5、波过程采用迭代操作,对输入图像重复进行同样的中值滤波,直到输出不再有变化为止。)3.1.对peppers.bmp图像添加“椒盐”噪声程序代码如下:I=imread(d:peppers.bmp);J = imnoise(I,salt & pepper,0.2); subplot(1,2,1);imshow(I);title(原图);subplot(1,2,2);imshow(J);title(椒盐加噪处理);运行结果如下:3.2采用55的矩形中值滤波处理程序代码如下:I= imread(d:peppers.bmp);J=imnoise(I,salt & pepper,0.2);P=double(

6、J);H,W=size(J);flag=1;while( flag=1) %若输出跟前一个图有变化则进行中值滤波处理 flag=0; for i=3:(H-2) for j=3:(W-2) A=P(i-2:i+2,j-2:j+2); %5*5矩阵窗口模板 mid=median(A(:); %求矩阵模板中值 if(P(i,j)=mid) P(i,j)=mid; flag=1; end end end if flag=0 %若输出不再变化停止滤波操作 break; end;end;subplot(1,3,1),imshow(I);title(原图);subplot(1,3,2),imshow(J)

7、;title(椒盐加噪处理 );subplot(1,3,3),imshow(uint8(P);title(5*5矩形中值滤波); 运行结果如下:3.3采用圆形窗口中值滤波处理程序代码如下:I= imread(d:peppers.bmp);J=imnoise(I,salt & pepper,0.2); P=double(J);H,W=size(J);flag=1;while( flag=1) flag=0;for i=3:(H-2) for j=3:(W-2) A=P(i-2:i+2,j-2:j+2) %5*5矩阵窗口模板(还要去除四个角上的点转变成5*5圆形模板 Q=A(:); Q(1)=;

8、%5*5圆形模板这几处要置空Q(4)=;Q(19)=;Q(22)=; mid=median(Q); if(P(i,j)=mid) P(i,j)=mid; flag=1; end; end;end;if flag=0 break;end;end;subplot(1,3,1),imshow(I);title(原图);subplot(1,3,2),imshow(J);title(椒盐加噪处理 );subplot(1,3,3),imshow(uint8(P);title(5*5圆形中值滤波);运行结果如下:3.4采用十字形窗口中值滤波处理程序代码如下:I= imread(d:peppers.bmp);

9、J=imnoise(I,salt & pepper,0.2);K=double(J);H,W=size(J);flag=1;While( flag=1) falg=0;for i=3:(H-2) for j=3:(W-2) A=P(i-2,j),P(i-1,j),P(i,j-2),P(i,j-1),P(i,j),P(i,j+1),P(i,j+2),P(i+1,j),P(i+2,j); mid=median(A(:); if(P(i,j)=mid) M(i,j)=mid; falg=1; end; end;end;if flag=0 break; end;end;subplot(1,3,1),i

10、mshow(I);title(原图);subplot(1,3,2),imshow(J);title(椒盐加噪处理 );subplot(1,3,3),imshow(uint8(P);title(5*5十字形中值滤波);运行结果如下: 实验总结本次实验中5*5圆形模板其实和5*5矩形模板处理方法很相似,只要将四个角落出的数置清空即可。 本次实验中值滤波法用MATLAB运行时时间很长,待以后熟练后可以直接用其提供的中值滤波函数来实现。相对而言,邻域平均法比较简单,本实验采用的是3*3模板,如果是9*9模板就需要用循环语句来实现了。中值滤波法处理的三种模板中,矩形和圆形模板处理结果差不多,十字形模板处理效果偏差。四、总结例如你们的某位师姐总结说:通过数字图像平滑处理的学习,我更深入理解了数字图像平滑的概念,掌握了几种图像平滑处理方法,通过实验了解了图像低通、模糊、去噪的方法。平滑处理关键在于对数字图像平滑处理几种方法的理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论