基于×字形窗口的自适应中值滤波算法1.doc

基于×字形窗口的自适应中值滤波算法1.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于×字形窗口的自适应中值滤波算法1

由于种种原因,图像在生成、传输、变换等过程中往往会受到各种噪声的污染,从而导致图像质量退化。噪声信号的滤波是图像处理的基本任务之一,主要有线性滤波和非线性滤波两种方法。线性滤波方法一般具有低通特性,而图像的边缘信息对应于高频信号,因此线性滤波方法往往导致图像边缘模糊,不能取得很好的复原效果。中值滤波是一种使边缘模糊较轻的非线性滤波方法,是由Tukey发明的一种非线性信号处理技术,早期用于一维信号处理,后来很快被用到二维数字的图像平滑中。该算法不仅能够去除或减少随机噪声和脉冲噪声干扰,而且能够很大程度地保留图像的边缘信息,近年来在图像平滑和数据分析与处理等多个领域中得到广泛应用。尽管如此,由于它对窗口和数据点的高度依赖,使其在处理空间密度较大的冲激噪声时,处理效果和效率受到了限制。文献[4]提出一种自适应中值滤波算法,通过扩大窗口来相对减少冲激噪声空间密度,但它是基于方形窗口的,当窗口尺寸增大时,计算量将按平方增大,因此在速度方面还不够理想。在数字图像处理中,作为一种典型的非线性滤波方法,中值滤波应用得非常广泛,因而对提高其算法效率是非常有意义的。本文对Matlab工具箱中的中值滤波算法进行改进,提出一种基于×字形滤波窗口的自适应中值滤波算法,在有效去除噪声的同时,较好地保持了图像细节,缩短了运行时间。 1中值滤波的基本原理及传统算法 信号中值(medians)是按信号值大小顺序排列的中间值。长为n的一维信号{X,n∈N}的中值用下式表示: 相对二维图像信号{Xij:i,j∈N},二维中值滤波器定义为: 式(1)、式(2)中:N表示自然数集;A为截取图像数据的窗口尺寸;r为窗口水平尺寸;s为窗口垂直尺寸;Xij为被处理图像平面上的一个像素点,坐标为(i,j);Yij是以Xij为中心,窗口W所套中范围内像素点灰度的中值,即中值处理的输出值。窗口A可以采用不同的形式,通常有线段窗、方形窗、圆形窗、十字窗和圆环窗等。文献[6]对中值滤波的多种形态及其发展有详细的介绍。 中值滤波就是选择一定形式的窗口,使其在图像的各点上移动,用窗内像素灰度值的中值代替窗中心点处的像素灰度值。它对于消除孤立点和线段的干扰十分有用,能减弱或消除傅里叶空间的高频分量,但也影响低频分量。高频分量往往是图像中区域边缘灰度值急剧变化的部分,该滤波可将这些分量消除,从而使图像得到平滑的效果。对于一些细节较多的复杂图像,还可以多次使用不同的中值滤波。传统中值滤波算法的具体实现过程如下: (1)选择一个(2n+1)×(2n+1)的窗口(通常为3×3或5×5),并用该窗口沿图像数据进行行或列方向的移位滑动; (2)每次移动后,对窗内的诸像素灰度值进行排序; (3)用排序所得中值替代窗口中心位置的原始像素灰度值。 图1是传统中值滤波算法的框图。其中,M,N分别表示滤波图像的行数和列数。 2自适应中值滤波的基本原理及改进算法 中值滤波是当前应用最广泛的滤波方法之一,然而,中值滤波的去噪效果和处理速度依赖于滤波窗口的大小及参与中值计算的像素点数目。当脉冲噪声概率小于0.2时,中值滤波是很有效的方法,当脉冲噪声概率超过0.2时,则使用自适应中值滤波方法。 ×字形窗口的自适应中值滤波算法是对中值滤波的一种改进。相对于中值滤波而言,它能够处理空间密度更大的冲激噪声,并且在平滑非冲激噪声时,还可保存更多的图像细节;效率方面也较一般的自适应中值滤波有所改善。常见窗口及本文提出窗口如图2所示。 基本原理如下: 首先,采用3×3的×字形窗口进行计算,计算图像的中值滤波值Zmed、最大值滤波值Zmax和最小值滤波值Zmin,并判断噪声敏感度,即:如果Zmec,不在Zmax和Zmin之间就自动增加×字形窗口的大小,然后重复以上的过程;对于Zmed在Zmax和Zmin之间的点先用原像素值与最大滤波值和最小滤波值进行判断,如果在其间,原值不做修改,反之就用Zmed取代原值。这一过程有如下的作用: (1)使得未受脉冲噪声污染的点不用修改,很好地保护了图像的点、线等细节及边界信息; (2)当检测到的噪声很强时,自动增大窗口,提高了去噪能力; (3)当检测到的噪声不是很强时,就不用增加窗口的大小,既体现出自适应性,又减少了时间开销,提高了速度。 其中,×字形窗口的实现方法如下: (1)先得到一个对角矩阵A; (2)将对角矩阵A从左向右翻转,得到一个矩阵B; (3)将矩阵A与矩阵B取或运算,得到X字形矩阵C。 3基于×字形窗口自适应中值滤波算法的Matlab实现 中值滤波是数字图像处理中一个很重要的部分,Matlab工具箱中有该函数,用到中值滤波算法时可直接调用。因此,用Matlab编程具有简单、方便、快捷等优点。另外,还可以对其内部函数进行改进。本文的算法就是通过另外编程修改中值滤波有关的内部函数

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档