首页 MATLAB在中值滤波改进算法中的应用

MATLAB在中值滤波改进算法中的应用

举报
开通vip

MATLAB在中值滤波改进算法中的应用 第24卷 第 1期 2007年3月 广东工业大学学报 Journal of Guangdong University of Technology V0I.24 No.1 March 2007 MATLAB在中值滤波改进算法中的应用 袁西霞,岳建华,赵贤任 (中国矿业大学 资源学院,江苏 徐州221008) 摘要 :中值滤波是图像处理中比较常用的滤波方法 ,但是它对窗口和数据点的依赖使它在处理空间密度较大的冲 激噪声时受到限制.本文通过 MATLAB工具箱对中值滤波算法进行改进,用自...

MATLAB在中值滤波改进算法中的应用
第24卷 第 1期 2007年3月 广东工业大学学报 Journal of Guangdong University of Technology V0I.24 No.1 March 2007 MATLAB在中值滤波改进算法中的应用 袁西霞,岳建华,赵贤任 (中国矿业大学 资源学院,江苏 徐州221008) 摘要 :中值滤波是图像处理中比较常用的滤波方法 ,但是它对窗口和数据点的依赖使它在处理空间密度较大的冲 激噪声时受到限制.本文通过 MATLAB工具箱对中值滤波算法进行改进,用自适应中值滤波能较好地解决这个 问题. 关键词:MATLAB语言;图像处理;自适应中值滤波 中图分类号:TP391 文献标识码:A 文章编号:1007-7162【2007)01-0033-03 1 相关内容简介 1.1 MATLAB语言 MATLAB是美国MathWorks公司推出的一种面 向工程和科学运算的交互式计算软件.除主包外, MATLAB中还包含许多功能各异的工具箱,用于解 决各个领域的特定问题,这些工具箱应用的算法是 开放的、可扩展的,用户不仅可以察看其中的算法, 还可以针对一些算法进行修改,甚至允许开发自己 的算法以便扩充工具箱的功能 J¨.因面,用户可以根 据自己的需要方便地建立和扩充新的库函数,以便 扩充 MATLAB的功能,提高它的使用效率 J. 1.2 自适应中值滤波原理 图像在形成、传输过程中,常因外界噪声干扰而 导致其质量退化,为减小噪声的影响,可采取各种滤 波方法对图像进行去噪处理.其中,中值滤波是当前 应用最广的滤波方法之一.然而,中值滤波的去噪效 果依赖于滤波窗口的大小及参与中值计算的像素点 数 目 4 J.自适应中值滤波算法是对中值滤波的一 种改进,相对于中值滤波而言,它能够处理空间密度 更大的冲激噪声,并且平滑非冲激噪声时,还可保存 更多的图像细节.基本原理 如下 : 设 Sx 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示中心像素点( ,y)在滤波时所对应 的掩模窗,yLI . 令 z 为 s⋯中的灰度最小值,z⋯为 s⋯中的灰度最大值,z 为 s⋯中的灰度中值, . 为在坐标( ,y)上的灰度 ,s⋯为 Sx,y允许的最大尺 寸,自适应中值滤波器算法工作在两个层次,可定义 为A层和 日层. A层: =Zmed—Zmjn, =Z⋯ 一Z d,如果 >0,且 >0,则转到 B层.否则,增大窗口尺寸.如 果窗LI尺寸小于 s⋯,则重复A层.否则,输出 . . 日层:zf=Zx. 一Z ,z =Z 一Zx. ,如果z >0,且 >0,则输出 否则,输出 zmed. A层用来判断 z 是否为一脉冲,日层用来判 断 . 是否为一脉冲.如果 z 和 . 都不是脉冲, 则算法就利用输出一个不变的像素值z⋯来代替邻 域中值作为输出,以避免不必要的细节损失.为了改 进 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 中值滤波算法处理空问密度较大的冲激噪声 能力不足的问题,自适应中值滤波算法采用了通过 扩大窗口来相对地减少冲激噪声空间密度的这一 策略. 中值滤波作为数字图像处理中重要的一部分, 应用 MATLAB语言进行编程,具有编程简单、操作 方便、处理速度快等特点,特别是对于许多中值滤波 的改进算法这样的 MATLAB内部函数不能实现的 问题,也可以通过另外编程或修改有关的内部函数 来方便地实现. 2 利用 MATLAB实现数字图像 自适 应中值滤波 结合 MATLAB图像处理工具箱的函数,在原中 值滤波程序的基础上,结合新算法进行改进,在不大 量增加编程工作的基础上将工作重点放在如何进行 算法改善上,可以明确直观地观察不同算法对于图 像的处理效果,有助于算法的优化.相比用 VC++ 或 c++语言编程来实现改进中值滤波算法而言,可 以为图像处理工作者节省大量的时间和精力,从而 提高图像处理的工作效率 . 下面就以自适应中值滤波算法为例,添加新的 库函数——adpmedian,介绍如何对图像处理工具箱 收稿日期:2006—05—22 作者简介:袁西霞(1979.),女,硕士研究生,主要研究方向为数字图像处理. 维普资讯 http://www.cqvip.com 广 东 工 业 大 学 学 报 第 24卷 进行扩展,以实现数字图像自适应中值滤波. 1)打开 MATLAB的 M文件编辑器,编写如下 内容: 程序主体如下: function f=adpmedian(g,Smax) % ADPMEDIAN Perform adaptive median filtering %首先判断Smax是否符合要求:Smax应该是大于1的 奇数 if (Smax<=1)I(Smax/2==round(Smax/2))I(Smax~ =round(Smax)) error(‘SMAX must be an odd integer>1.’) end [M,N]=size(g); %初始化. f=g: f(:)=0; alreadyProcessed:false(size(g)); %开始滤波. for k=3:2:Smax %相当于 k k的极小值滤波 zmin=ordfilt2(g,1,ones(k,k),‘symmetric’); %相当于k k的极大值滤波 zmax=ordfilt2(g,k k,ones(k,k),‘symmetric’); %k k的中值滤波 zmed=medfilt2(g’[k,k],‘symmetric’); %判断 Z med是否为一脉冲 processUsingLevelB=(zmed>zmin)& (zmax> zmed)& ~alreadyProcessed; %判断 z x,Y是否为一脉冲 zB:(g>zmin)&(zmax>g); outputZxy processUsingLevelB& zB: outputZmed=processUsingLevelB & 一zB: %输出一个不变的像素值Z x,Y来代替邻域中值 作为输出 f(outputZxy)=g(outputZxy); %输出中值滤波的值作为输出 f(outputZmed)=zmed(outputZmed); already’Processed = already Processed I processUsingLev- elB; if all(alreadyProcessed(:)) break; end end 这个函数中调用了ordfih2和medfih2两个函 数.这 样 方便 了编 程,简 化 了编程 过 程.其 中 ordfih2(x,n,s)和medfilt2(x,[m n])都是 MATLAB 图象工具箱中的函数,前者作用是对图象矩阵 的 每一元素作如下处理:按由小到大的顺序取邻域 s 中的第 n个元素进行替换.后者是用指定大小为 m ×n的窗口对图象 进行中值滤波. 2)选择FilelSave命令,将所有文件保存在磁盘 中,并命名为 adpinedian.In.将它保存在默认 目录 下,并注意文件命名和函数名尽量保持一致,以便后 面调用. 3)调用时,只需直接调用工具箱里自带的函数 和编写的扩展函数.下面举例对加噪的图像进行 自 适应中值滤波: %读取原图像 ’A =imread(‘eight.tif’) figure; %显示原图像 imshow(A) %对原图像添加辣椒噪声 B=imnoise(A,‘salt&pepper’,0.25); fgure; %显示加噪图像 imshow(B); %对加噪图像进行中值滤波,滤波窗口为[7 7] C =Medfilt2(B,[7 7],‘symmetric’); %显示滤波后图像 imshow(C) %对加噪图像进行自适应中值滤波,滤波窗口为[7 7] D=adpmedian(B,7) figure; %显示滤波后图像 imshow(D) %测试Medfilt2(B,[7 7]函数运行时间 tic,Medfilt2(B,[7 7],‘symmetric’);toc; %测试 adpmedian(B,7)函数运行时间 tic,adpmedian(B,7);toc; 4)结果与分析 结果比较见图1~图4,图2显示了被“椒盐”噪 声污染了的图像,该噪声的概率为 P。= =0.25. 在这里噪声水平非常高,能够模糊图像的大部分细 节.作为比较的基础,图像首先用7×7的中值滤波 器进行滤波,消除大部分可见的脉冲噪声痕迹(见 图3).虽然噪声被有效消除了,但是滤波器在图像 上也引起了明显的细节损失.图4显示了使用 一 ’ 图 1 原始图象 维普资讯 http://www.cqvip.com 第 1期 袁西霞,等:MATLAB在中值滤波改进算法中的应用 35 图 2 加入强度为0.25椒盐噪声的图象 ◆ ’ 图3 7×7中值滤波后的图像 ● 图 4 自适应滤波后的图像 = 7的自适应中值滤波器的效果 ,噪声消除水平同 中值滤波器相似.但是,自适应滤波器保持了点的尖 锐陛和其细节,可以看出,其改进是很明显的.另外 , 通过两个函数的运行时间可以看出,自适应滤波器 要花费中值滤波器 10倍多的处理时问,对于不是很 大的图像这还是可以接受的,随着计算机速度日益 提高,这个问题也会迎刃而解. 3 结论 通过本文的分析和实例可以看出,在设想对数 字图像进行改进型中值滤波处理时,可以充分利用 MATLAB的图像处理工具箱 ,并根据 自己的需要加 以扩展.这样可以快速实现研究中的新构想,有助于 研究工作的开展. 参考文献: [1]张兆礼.现代图像处理与 Matlab实现[M].北京:人民邮 电出版社,2001:18—20,171.201. [2]阮秋琦.数字图像处理学 [M] 北京:电子工业出版社 , 2001. [3]秦鹏,丁润涛.一种基于排序阈值的开关中值滤波方法 [J].中国图象图形学报 ,2004,9(4):412·416. [4]张旭明,徐滨士,董世运 用于图像处理的自适应中值滤 波[J].计算机辅助设计与图形学学报,2005,17(12): 295.299. [5]芮杰,吴冰,秦志远,等.一种稳健的自适应图像平滑算 法[J] 中国图象图形学报 ,2005,10(1):54·58. [6]贾洪涛,朱元昌,王建华.扩展 自适应中值滤波器的原理 与实现[J].中国图象图形学报 ,2004,9(8):947-950. [7]王晓红.基于 MATLAB的系统分析与设计——图像处 理[M] 西安:西安电子科技大学出版社 ,2000. Application of M ATLAB in Improved M edian Filtering YUAN Xi—xia,YUE Jian—hua,ZHAO Xian—ren (College of Resource and Earth Technique,China University of Mining Technology,Xuzhou 22 1008,China) Abstract:The median filtering is a common method in image processing,but it is limited when it faces the swash noise of space high density,because it depends on the fixed windows and the data points.This article uses the MAT— LAB tool box to improve the method of common median filtering.The improved one can solve the problem better when compared with the common one. Key words:Matlab language;image processing;improved median filtering 维普资讯 http://www.cqvip.com
本文档为【MATLAB在中值滤波改进算法中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_638451
暂无简介~
格式:pdf
大小:148KB
软件:PDF阅读器
页数:3
分类:
上传时间:2013-08-05
浏览量:33