为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于Matlab的图像去噪算法的研究

2011-12-30 47页 doc 1MB 125阅读

用户头像

is_664953

暂无简介

举报
基于Matlab的图像去噪算法的研究东北石油大学本科生毕业设计(论文) 摘 要 在信息化的社会里,图像在信息传播中所起的作用越来越大。所以,消除在图像采集和传输过程中而产生的噪声,保证图像受污染度最小,成了数字图像处理领域里的重要部分。 本文主要研究分析邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的图像去噪算法。首先介绍图像处理应用时的常用函数及其用法;其次详细阐述了四种去噪算法原理及特点;最后运用Matlab软件对一张含噪图片(含高斯噪声或椒盐噪声)进行仿真去噪,通过分析仿真结果得出:均值滤波是典型的线性滤波,对高斯噪声抑制是比较好的;中值滤波是常...
基于Matlab的图像去噪算法的研究
东北石油大学本科生毕业设计() 摘 要 在信息化的社会里,图像在信息传播中所起的作用越来越大。所以,消除在图像采集和传输过程中而产生的噪声,保证图像受污染度最小,成了数字图像处理领域里的重要部分。 本文主要研究分析邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的图像去噪算法。首先介绍图像处理应用时的常用函数及其用法;其次详细阐述了四种去噪算法原理及特点;最后运用Matlab软件对一张含噪图片(含高斯噪声或椒盐噪声)进行仿真去噪,通过分析仿真结果得出:均值滤波是典型的线性滤波,对高斯噪声抑制是比较好的;中值滤波是常用的非线性滤波,对椒盐噪声特别有效;维纳滤波对高斯噪声有明显的抑制作用;对小波系数进行阈值处理可以在小波变换域中去除低幅值的噪声和不期望的信号。 关键词:邻域平均法;中值滤波;维纳滤波;小波变换 Abstract In the information society, the image in the information transmission is used more and more widely. Therefore, ensuring the minimum of the noise and pollution in the process of image collection and transmission became an important part of the field. This paper mainly analysis and discuss the neighborhood average method, median filtering method, wiener filtering method and the fuzzy wavelet transform method of image denoising algorithm. Firstly introduce the common image processing functions and its applications. Secondly elaborate the principles and characteristics of the four denoising algorithm. Finally using Matlab software to a noise images (including gaussian noise or salt & pepper noise), and getting some conclusions from the simulation denoising analysis: average filtering is typical of linear filter, which is better used for gaussian noise. The median filter is a common nonlinear filtering method, especially effective to salt & pepper noise. Through wiener filtering, the gaussian noise is inhibited obviously. Wavelet coefficients threshold processing in wavelet domain can remove noise and the the signal which is not expect. Key words:Average neighborhood;Median filter;Wiener filtering;Wavelet transform 目 录 1第1章 概 述 11.1 课研究背景 11.2 图像去噪的研究现状 21.3 本文主要工作 4第2章 Matlab简介 42.1 Matlab概况 42.2 Matlab发展过程 52.3 Matlab的语言特点 72.4 Matlab图像处理常用函数 82.5 本章小结 9第3章 图像去噪算法 93.1 图像噪声概述 103.2 邻域平均法图像去噪 143.3 中值滤波法图像去噪 193.4 维纳滤波法图像去噪 213.5 基于模糊小波变换法图像去噪 263.6 本章小结 27第4章 基于Matlab的图像去噪算法仿真 274.1 邻域平均法的仿真 284.2 中值滤波的仿真 314.3 维纳滤波的仿真 324.4 基于模糊小波变换法的仿真 354.5 几种去噪方法的比较分析 364.6 本章小结 37结 论 38参考文献 39致 谢 第1章 概 述 1.1 课题研究背景 21世纪,人类已经进入了信息化时代,计算机在处理各种信息中发挥着重要作用。据统计,人类从自然界获取的信息中,视觉信息占75%~85%。俗话说“百闻不如一见”,有些场景或事物,不管花费多少笔墨都难以表达清楚,然而,若用一幅图像描述,可以做到一目了然。可见,在当代高度信息化的社会中,图形和图像在信息传播中所起的作用越来越大,在图像处理领域,数字图像处理得到了飞速发展。 图像是信息社会人们获取信息的重要来源之一。在通过图像传感器将现实世界中的有用图像信号进行采集、量化、编码、传输、恢复的过程中,存在大量影响图像质量的因素。因此图像在进行使用之前,一般都要经过严格的预处理如去噪、量化、压缩编码等。噪声的污染直接影响着对图像边缘检测、特征提取、图像分割、模式识别等处理,使人们不得不从各种角度进行探索以提高图像的质量。所以采用适当的方法尽量消除噪声是图像处理中一个非常重要的预处理步骤。图像处理技术在20世纪首先应用于图像的远距离传送,而改善图像质量的应用开始于1964年美国喷气动力实验室用计算机对“徘徊者七号”太空船发回的月球照片进行处理,并获得巨大成功。现在图像处理技术已深入到科学研究、军事技术、工农业生产、医学、气象及天文学等领域。科学家利用人造卫星可以获得地球资源照片、气象情况;医生可以通过X射线或CT对人体各部位的断层图像进行分析。但在许多情况下图像信息会受到各种各样噪声的影响,严重时会影响图像中的有用信息,所以对图像的噪声处理就显得十分重要。 1.2 图像去噪的研究现状 图像处理中,输入的是质量低的图像,输出的是改善质量后的图像。常用的图像处理方法有图像增强、复原、编码、压缩等[1]。光学相干层析成像是近些年来发展较快的一种层析成像技术。因为其对生物组织无辐射损伤、具有微米级的分辨率、高探测灵敏度和越来越快的扫描速率等优点,在医学诊断病变组织方面,尤其是对生物组织活体检测具有诱人的应用前景[2]。由于噪声干扰的存在,这些生理信号可能失真[3]。甚至面目全非,这给图像信息带来了难度。因此,就必须对含噪图像进行处理,改善图像质量。最大程度上显现信号本身的特点。 在所处理的图像中,相邻像素的灰度之间大多具有很高的相关性,也就是说,一幅图像中大多数像素的灰度差别不大[4]。因为这种灰度相关性的存在,一般图像的能量主要集中在低频区域中,只有图像的细节部分的能量才处于高频区域中。因为在图像的数字化和传输中常有噪声出现,而这部分干扰信息主要集中在高频区域内,所以消除噪声的一般方法是衰减高频分量或称低通滤波,但与之同时带来的负面影响是图像的细节也有一定的衰减,从视觉效果上来看图像比处理前模糊。一个较好的去噪方法应该是既能消去噪声对图像的影响又不使图像细节变模糊[5]。 为了改善图像质量,从图像中提取有效信息,必须对图像进行去噪预处理。根据噪声的频谱分布的规律和统计特征以及图像的特点,出现了多种多样的去噪方法。经典去噪方法有:空间域合成法、频域合成法和最优线性合成法等[6]。与之相适应的出现了许多应用方法:如均值滤波器、中值滤波器、低通滤波器、维纳滤波器、最小失真法等[7]。这些方法广泛应用,促进数字信号处理的极大发展。显著提高了图像质量。近年来,小波变换去除噪声的方法得到广泛的应用[8]。与传统的去噪方法相比。它利用的是非线性域值,在时间域和频率域同时具有良好的局部化性质,而且时窗和频窗的宽度可以调节。对高频成分采用逐渐精细的时域或空域取样步长,从而可以聚焦到对象的任意细节。因此可以提高散斑高散射特性的噪声对比度,很好的消除散斑噪声[9]。小波变换去除噪声的方法在不断地发展,去噪方法很多,如非线性小波变换阈值法去噪、小波变换模极大值去噪及基于小波变换域的尺度相关性去噪法等。 1.3 本文主要工作 图像在获取和传输过程中,往往受到噪声的干扰,而降噪的目的是尽可能保持原始信号主要特征的同时,除去信号中的噪声。目前的图像去噪方法可以将图像的高频成分滤除,虽然能够达到降低噪声的效果,但同时破坏了图像细节。边缘特性是图像最为有用的细节信息,本文对邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的图像去噪算法进行了研究分析和讨论。 第2章 Matlab简介:介绍软件Matlab的概况、发展历程、语言特点、图像处理应用时的常用函数及其用法。 第3章 图像去噪算法:简要说明了图像噪声的概念及分类,详细阐述了邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法的去噪原理及特点。 第4章 基于Matlab的图像去噪算法仿真:根据邻域平均法、中值滤波法、维纳滤波法及模糊小波变换法原理分析,运用Matlab仿真软件编写代码,对一张含噪图片(含高斯噪声或椒盐噪声)进行仿真去噪,并对结果分析讨论,比较几种方法的优缺点。 第2章 Matlab简介 2.1 Matlab概况 Matlab(Matrix Laboratory)为美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件,其功能不断扩充,版本不断升级,目前的最新版本为7.1版。Matlab将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 Matlab已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,Matlab已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,Matlab被广泛的应用于研究和解决各种具体问题。在中国,Matlab也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从Matlab中找到合适的功能。 当今的信息化社会,图像是人类赖以获取信息的最重要的来源之一。随着计算机技术的迅猛发展,图像技术与计算机技术不断融合,产生了一系列图像处理软件,如VC、Matlab,这些软件的广泛应用为图像技术的发展提供了强大的支持。Matlab已成为国际公认的最优秀的科技应用软件之一,具有编程简单、数据可视化功能强、可操作性强等特点,而且配有功能强大、专业函数丰富的图像处理工具箱,是进行图像处理方面工作必备的软件工具。 2.2 Matlab发展过程 Matlab名字由MATrix和LABoratory 两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的Matlab。 经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,Matlab的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。 Matlab仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包。在时间进入20世纪九十年代的时候,Matlab已经成为国际控制界公认的计算软件。 MathWorks公司于1993年推出Matlab4.0版本,从此告别DOS版。4.X版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化: (1)推出了SIMULINK。这是一个交互式操作的动态系统建模、仿真、分析集成环境。它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。 (2)开发了与外部进行直接数据交换的组件,打通了Matlab进行实时数据分析、处理和硬件开发的道路。 (3)推出了符号计算工具包。1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎”开发了Symbolic Math Toolbox 1.0。 (4)构作了Notebook 。MathWorks公司瞄准应用范围最广的Word,运用DDE和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。 1997年仲春,Matlab5.0版问世,现今的Matlab拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。诚然,到1999年底,Mathematica也已经升到4.0版,它特别加强了以前欠缺的大规模数据处理能力。 在国际学术界,Matlab已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到Matlab的应用。在设计研究单位和工业部门,Matlab被认作进行高效研究、开发的首选软件工具。 2.3 Matlab的语言特点 Matlab语言有如下特点: (1)编程效率高 它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比Basic、Fortran和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。因此,Matlab语言也可通俗地称为演算纸式科学算法语言由于它编写简单,所以编程效率高,易学易懂。 (2)用户使用方便 Matlab语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。Matlab语言与其它语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。 (3)扩充能力强 高版本的Matlab语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高Matlab使用效率和扩充它的功能。 (4)语句简单,内涵丰富 Mat1ab语言中最基本最重要的成分是函数,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性)。这不仅使Matlab的库函数功能更丰富,而大大减少了需要的磁盘空间,使得Matlab编写的M文件简单、短小而高效。 (5)高效方便的矩阵和数组运算 Matlab语言规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“·”就可用于数组间的运算。它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便。 (6)方便的绘图功能 Matlab的绘图是十分方便的,它有一系列绘图函数,例如线性坐标、对数坐标,半对数坐标及极坐标,均只需调用不同的绘图函数,在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不及的。 总之,Matlab语言的设计思想可以说代表了当前计算机高级语言的发展方向。相信在不断使用中会发现它的巨大潜力。 2.4 Matlab图像处理常用函数 Matlab7.0为用户在进行图像处理中提供了一些常用的函数: (1)文件的读入与显示 函数imread作用是读入文件,其调用格式如下: [X,map]=imread(filename,fmt),其中,filename为需要读入图像的文件名。fmt为图像格式。 函数imshow作用是显示文件,其语法格式如下: imshow(BW) imshow(X,map) (2)计算二维卷积 函数conv2格式: C=conv2(A,B) 作用是算矩阵A和B的卷积。 (3)噪声及其噪声的 Matlab实现 函数imnoise 格式: J=imnoise(I,type) J=imnoise(I,type,parameter) 返回对图像I添加典型噪声后的有噪图像J,参数 type和parameter用于确定噪声的类型和相应的参数。 (4)二维离散小波变换 函数dwt2格式: [cA,cH,cV,cD]=dwt2(X,'wname') 是使用指定的小波基函数 “wname”对二维信号X进行二维离散小波变换,cA,cH,cV,cD分别为近似分量、水平细节分量、垂直细节分量和对角细节分量。 [cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 是使用指定的分解低通和高通滤波器 Lo_D和Hi_D分解信号X。 (5)二维信号的多层小波分解 函数wavedec2 格式: [C,S]=wavedec2(X,N,'wname') 使用小波基函数 “wname”对二维信号X进行N层分解。 [C,S]=wavedec2(X,N,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号X。 (6)二维离散小波反变换 函数idwt2格式: X=idwt2(cA,cH,cV,cD,'wname') 由信号小波分解的近似信号 cA 和细节信号 cH、cH、cV、cD 经小波反变换重构原信号X。 X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R) 使用指定的重构低通和高通滤波器 Lo_R 和 Hi_R重构原信号X。 X=idwt2(cA,cH,cV,cD,'wname',S) 返回中心附近的 S 个数据点。 (7)二维信号的多层小波重构 函数waverec2格式: X=waverec2(C,S,'wname') 由多层二维小波分解的结果C、S重构原始信号X。 X=waverec2(C,S,Lo_R,Hi_R) 使用重构低通和高通滤波器Lo_R和Hi_R重构原信号。 2.5 本章小结 本章主要内容是对Matlab软件的概况进行介绍,回顾Matlab发展历程,总结Matlab语言特点,并针对本文编写仿真代码时需要的常见函数的用法做出详细的介绍。 第3章 图像去噪算法 3.1 图像噪声概述 3.1.1 图像噪声的概念 噪声可以理解为“妨碍人们感觉器官对所接收的信源信息理解的因素”。例如一幅黑白图片,其平面亮度分布假定为 ,那么对其接收起干扰作用的亮度分布 即可称为图像噪声。但是,噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。因此将图像噪声看成是多维随机过程是合适的,因而描述噪声的方法完全可以借用随机过程的描述,即用其概率分布函数和概率密度分布函数[10]。但在很多情况下,这样的描述方法是很复杂的,甚至是不可能的。而实际应用往往也不必要。通常是用其数字特征,即均值方差,相关函数等。因为这些数字特征都可以从某些方面反映出噪声的特征。 目前大多数数字图像系统中,输入图像都是采用先冻结再扫描方式将多维图像变成一维电信号,再对其进行处理、存储、传输等加工变换。最后往往还要在组成多维图像信号,而图像噪声也将同样受到这样的分解和合成。在这些过程中电气系统和外界影响将使得图像噪声的精确分析变得十分复杂。另一方面图像只是传输视觉信息的媒介,对图像信息的认识理解是由人的视觉系统所决定的。不同的图像噪声,人的感觉程度是不同的,这就是所谓人的噪声视觉特性课题。 图像噪声在数字图像处理技术中的重要性越来越明显,如高放大倍数航片的判读,X射线图像系统中的噪声去除等已经成为不可缺少的技术步骤。 3.1.2 图像噪声的分类 图像噪声按其产生的原因可以分为: 外部噪声,即指系统外部干扰以电磁波或经电源串进系统内部而引起的噪声。如电气设备,天体放电现象等引起的噪声。 内部噪声:一般又可分为以下四种: (1)由光和电的基本性质所引起的噪声。如电流的产生是由电子或空穴粒子的集合,定向运动所形成。因这些粒子运动的随机性而形成的散粒噪声;导体中自由电子的无规则热运动所形成的热噪声;根据光的粒子性,图像是由光量子所传输,而光量子密度随时间和空间变化所形成的光量子噪声等。 (2)电器的机械运动产生的噪声。如各种接头因抖动引起电流变化所产生的噪声;磁头、磁带等抖动或一起的抖动等。 (3)器材材料本身引起的噪声。如正片和负片的表面颗粒性和磁带磁盘表面缺陷所产生的噪声。随着材料科学的发展,这些噪声有望不断减少,但在目前来讲,还是不可避免的。 (4)系统内部设备电路所引起的噪声。如电源引入的交流噪声;偏转系统和箝位电路所引起的噪声等。 图像噪声从统计理论观点可以分为平稳和非平稳噪声两种。在实际应用中,不去追究严格的数学定义,这两种噪声可以理解为:其统计特性不随时间变化的噪声称其为平稳噪声。其统计特性随时间变化而变化的称其为非平稳噪声。 3.2 邻域平均法图像去噪 3.2.1 模板操作和卷积运算 模板操作是数字图像处理中常用的一种运算方式,图像的平滑、锐化、细化、边缘检测等都要用到模板操作。例如,有一种常见的平滑算法是将原图中的一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值作为新图像中该像素的灰度值。可用如下方法来表示该操作: (3-1) 上式有点类似矩阵,通常称之为模板(Template),带星号的数据表示该元素为中心元素,即这个元素是将要处理的元素。如果模板为: (3-2) 该操作的含义是:将原图中的一个像素的灰度值和它右下相邻的8个像素值相加,然后将求得的平均值作为新图像中该像素的灰度值。 图3-1 卷积处理过程 模板操作实现了一种邻域运算,即某个像素点的结果不仅和本像素灰度有关,而且和其邻域点的值有关。模板运算的数学含义是卷积(或互相关)运算。 卷积是一种用途很广的算法,可用卷积来完成各种变换,图3-1说明了卷积的处理过程。 卷积运算中的卷积核就是模板运算中的模板,卷积就是做加权求和的过程。邻域中的每个像素(假定邻域为3×3大小,卷积核大小与邻域相同),分别和卷积核中的每一个元素相乘,乘积求和所得的结果即为中心像素的新值。卷积核中的元素称作加权系数(亦称为卷积系数),卷积核中的系数大小及排列顺序,决定了对图像进行区处理的类型。改变卷积核中的加权系数,会影响到总和的数值与符号,从而影响到所求像素的新值。 在模板或卷积的加权运算中,还存在一些具体问题需要解决:首先是图像边界问题,当在图像上移动模板(卷积核)至图像边界时,在原图像中找不到与卷积核中的加权系数相对应的9个像素,即卷积核悬挂在图像缓冲区的边界上,这种现象在图像的上下左右四个边界上均会出现。例如,当模板为 (3-3) 设原图像为 (3-4) 经过模板操作后的图像为 (3-5) “—”表示无法进行模板操作的像素点。 解决这个问题可以采用两种简单的方法:一种方法是忽略图像边界的数据,另一种方法是在图像四周复制原图像边界像素值,从而使卷积核悬挂在图像四周时可以进行正常的计算。实际应用中,多采用第一种方法。 3.2.2 邻域平均法原理 邻域平均法是一种利用Box模板对图像进行模板操作(卷积操作)的图像平滑方法,所谓Box模板是指模板中所有系数都取相同值的模板,常用的3×3和5×5模板如下: (3-6) 中间的黑点表示以该像素为中心元素,即该像素是要进行处理的像素。Box模板对当前像素及其相邻的像素点都一视同仁,统一进行平均处理,这样就可以滤去图像中的噪声。例如,用3×3Box模板对一幅数字图像处理结果,如图3-2所示(图中计算结果按四舍五入进行了调整,对边界像素不进行处理)。 图3-2 3×3Box模板平滑处理示意图 最简单的平滑滤波是将原图中一个像素的灰度值和它周围邻近像素的灰度值相加,然后将求得的平均值作为新图中该像素的灰度值。它采用模板计算的思想,模板操作实现了一种邻域运算,即某个像素点的结果不仅与本像素灰度有关,而且与其邻域点的像素值有关。 设 为给定的含有噪声的图像,经过邻域平均处理后的图像为 ,则邻域平均法也可以用数学公式表达: (3-7) 式中:x, y=0,1,2,…,N-1;S是以 为中心的邻域的集合,M是S内的点数。 邻域平均法的思想是通过一点和邻域内的像素点求平均来去除突变的像素点,从而滤掉一定的噪声, 其主要在实际应用中,也可以根据不同的需要选择使用不同的模板尺寸,如3×3、5×5、7×7、9×9等。邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著。如果是噪声点,其邻近像素灰度与之相差很大,采用邻域平均法就是用邻近像素的平均值来代替它,这样能明显消弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用。因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方法。 3.3 中值滤波法图像去噪 中值滤波是一种非线性信号处理方法,与其对应的中值滤波器也就是一种非线性滤波器。中值滤波器于1971提出并应用在一维信号时间序列分析中,后来被二维图像信号处理技术所引用。它在一定条件下可以克服线性滤波器(如邻域平滑滤波等)所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。在实际运算过程中并不需要图像的统计特性,这也带来不少方便。但是对一些细节多,特别是点、线、尖顶细节多的图像不宜采用中值滤波。 由于中值滤波是一种非线性运算,对随机输入信号的严格数学分析比较复杂,下面采用直观的方法简要介绍中值滤波的原理。 3.3.1 中值滤波原理 中值滤波就是用一个奇数点的移动窗口,将窗口中心点的值用窗口内个点的中值代替。假设窗口内有五点,其值为80、90、200、110、120,那么此窗口内各点的中值即为110。 设有一个一维序列 ,取窗口长度(点数)为m(m为奇数),对其进行中值滤波,就是从输入序列中相继抽出m个数 (其中 为窗口的中心点值, ),再将这m个点按其数值大小排序,取其序号为中心点的那个数作为滤波输出。用数学公式表示为: (3-8) 例如,有一序列{0,0,3,4,7},则Med{0,0,3,4,7}=3。此列若用平滑滤波,窗口也是取5,那么平滑滤波输出为(0+3+4+0+7)/5=2.8。 图3-3使用内含5个像素的窗口对离散阶跃函数、斜坡函数、脉冲函数以及三角函数进行中值滤波和平均值滤波的示例。左边一列为原波形,中间为平均值滤波结果,右边为中值滤波结果。可以看出,中值滤波器不影响阶跃函数和斜坡函数。周期小于m/2(窗口之半)的脉冲受到抑制,另外三角函数的顶部变平。 图3-3 中值滤波和平均值滤波比较 a)阶跃;b)斜坡;c)单脉冲;d)双脉冲; e)三脉冲;f)三角波 二维中值滤波可由下式表示: (3-9) 式中:A为窗口; 为二维数据序列。 二维中值滤波的窗口形状和尺寸对滤波效果影响较大,不同的图像内容和不同的应用要求,往往采用不同的窗口形状和尺寸。常用的二维中值滤波窗口有线状、方形、圆形、十字形以及圆环形等。窗口尺寸一般先用3×3,再取5×5逐渐增大,直到滤波效果满意为止。就一般来讲,对于有缓变的较长轮廓线物体的图像,采用方形或圆形窗口为宜。对于包含有尖顶物体的图像,用十字形窗口,而窗口大小则以不超过图像,用十字形窗口,而窗口大小则以不超过图像中的最小有效物体的尺寸为宜。如果图像中点、线、尖角细节较多,则不宜采用中值滤波。 3.3.2 中值滤波主要特性 (1)对某些输入信号中值滤波的不变性 对某些特定的输入信号,如在窗口内单调增加或减少的序列,中值滤波输出信号仍保持输入信号不变,即: 或 ,则 。 a) b) 图3-4 中值滤波不变性示例 a)原始图像;b)中值滤波输出 一维中值滤波这种不变性可以从图3-3中a)和b)上看出来。二维中值滤波的不变性如图3-4所示。它不但与输入信号有关,而且还与窗口形状有关。一般与窗口对顶角连线垂直的边缘线保持不变性。利用这个特点,可以使中值滤波既能去除图像中的噪声,又能保持图像中一些物体的边缘。 对于一些周期性的数据序列,中值滤波对此序列保持不变性。例如,下列一维周期性的数序列 若设窗口长度为9,则中值滤波对此序列保持不变性。对于二维周期序列不变性,如周期网状结构图案,分析起来就更复杂了,可以通过试验改变窗口形状和尺寸来获取。 (2)中值滤波去噪声性能 对于零均值正态分布的噪声输入,中值滤波输出的噪声方差 近似为 (3-10) 式中: 为输入噪声功率(方差), 为中值滤波窗口长度(点数), 为输入噪声均值, 为输入噪声密度函数。 而均值滤波的输出噪声方差 为 (3-11) 比较两公式,可以看出,中值滤波的输出与输入噪声的密度分布有关。对随机噪声的抑制能力,中值滤波比均值滤波要差一些。但对脉冲干扰,特别是脉冲宽度小于m/2、相距较远的窄脉冲干扰,中值滤波的效果较好。 (3)中值滤波的频谱特性 设G为输入信号频谱,F为输出信号频谱,定义中值滤波的频率响应特性为 (3-12) 试验表明,中值滤波频谱特性起伏不大,其均值比较平坦。可以认为信号经中值滤波后,频谱基本不变。这一特点对设计和使用中值滤波器很有意义。 3.3.3 复合型中值滤波 对一些内容复杂的图像,可以使用复合型中值滤波。如中值滤波线性组合、高阶中值滤波组合、加权中值滤波以及迭代中值滤波等。 (1)中值滤波的线性组合是将几种窗口尺寸大小和形状不同的中值滤波器复合使用,只要个窗口都与中心对称,滤波输出可保持几个方向上的边缘跳变,而且跳变幅度可调节。其线性组合方程如下: (3-13) 式中: 为窗口。 (2)高阶中值滤波组合如下式所示: (3-14) 式中: 为不同中值滤波的系数, 为窗口。 这种中值滤波可以使输入图像中任意方向的线条保持不变。例如,可选择图3-5中的4种线性窗口 ,用上式组合的中值滤波,可以使输入图像中各种方向线条保持不变,而且又有一定的噪声平滑性能。 图3-5 几种线性窗口 (3)其他类型的中值滤波:为了在一定的条件下尽可能去除噪声,又有效保持图像细节,可以对中值滤波器参数进行修正,如加权中值滤波,也就是对输入窗口进行加权。也可以是对中值滤波器的使用方法进行变化,保证滤波的效果,还可以和其他滤波器联合使用。 3.4 维纳滤波法图像去噪 3.4.1 维纳滤波原理 从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值,而相应的装置称为滤波器。根据滤波器的输出是否为输入的线性函数,可将它分为线性滤波器和非线性滤波器两种。 常用的滤波器是采用电感、电容等分立元件构成,如RC低通滤波器、LC谐振回路等。但对于混在随机信号中的噪声滤波,这些简单的电路就不是最佳滤波器,这是因为信号与噪声均可能具有连续的功率谱。不管滤波器具有什么样的频率响应,均不可能做到噪声完全滤掉,信号波形的不失真。因此,滤波器研究的一个基本课题就是:如何设计和制造最佳的或最优的滤波器。所谓最佳滤波器是指能够根据某一最佳准则进行滤波的滤波器。 20世纪40年代,维纳奠定了关于最佳滤波器研究的基础。即假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳过程且知它们的二阶统计特性,维纳根据最小均方误差准则(滤波器的输出信号与需要信号之差的均方值最小),求得了最佳线性滤波器的参数,这种滤波器被称为维纳滤波器。在维纳研究的基础上,人们还根据最大输出信噪比准则、统计检测准则以及其他最佳准则求得的最佳线性滤波器。实际上,在一定条件下,这些最佳滤波器与维纳滤波器是等价的。因而,讨论线性滤波器时,一般均以维纳滤波器作为参考。维纳滤波是40年代在线性滤波理论方面所取得的最重要的成果。 利用平稳随机过程的相关特性和频谱特性对混有噪声的信号进行滤波的方法,1942年美国科学家维纳为解决对空射击的控制问题所建立从噪声中提取引号波形的各种估计方法中,维纳滤波是一种最基本的方法,适用于需要从噪声中分离出的有用信号是整个信号(波形),而不只是它的几个参量,如图3-6所示。 设维纳滤波器的输入为含噪声的随机信号。期望输出与实际输出之间的差值为误差,对该误差求均方,即为均方误差。因此均方误差越小,噪声滤除效果就越好。为使均方误差最小,关键在于求冲激响应。如果能够满足维纳-霍夫方程,就可使维纳滤波器达到最佳。根据维纳-霍夫方程,最佳维纳滤波器的冲激响应,完全由输入自相关函数以及输入与期望输出的互相关函数所决定。 图3-6 维纳滤波去除背景噪声 3.4.2 维纳滤波器特性 设计维纳滤波器的问题,可归结为从维纳-霍夫积分方程中解出未知函数 。 的拉普拉斯变换就是所要决定的维纳滤波器的传递函数 。对于一般问题,维纳-霍夫方程往往不易求解。但当给定问题的随机过程的功率谱密度是有理分式函数时, 的显式解就可比较容易地定出。根据求得的 即可构造所需的维纳滤波器,而信号的最优估值则可由相应关系式定出。 维纳滤波器的优点是适应面较广,无论平稳随机过程是连续的还是离散的,是标量的还是向量的,都可应用。对某些问题,还可求出滤波器传递函数的显式解,并进而采用由简单的物理元件组成的网络构成维纳滤波器。维纳滤波器的缺点是,要求得到半无限时间区间内的全部观察数据的条件很难满足,同时它也不能用于噪声为非平稳的随机过程的情况,对于向量情况应用也不方便。因此,维纳滤波在实际问题中应用不多。 实现维纳滤波的要求是: (1)输入过程是广义平稳的; (2)输入过程的统计特性是已知的。根据其他最佳准则的滤波器亦有同样要求 ,然而,由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,因而难以满足上述两个要求。这就促使人们研究自适应滤波器。 3.5 基于模糊小波变换法图像去噪 3.5.1 小波变换基本理论 小波变换是一种信号的时间一尺度(时间–频率)分析方法,它具有多分辨率分析的特点,而且在时频两域都具有表征信号局部特征的能力,是一种窗口大小固定不变但其形状可改变,时间窗和频率窗都可以改变的时频局部化分析方法。即在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,很适合于探测正常信号中夹带的瞬时反常现象并展示其成分,所以被誉为分析信号的显微镜,实现了信号分析中“既见森林,又见树木”的理想境界[11]。 (1)一维信号小波变换分解与重构 如图3-7第一层小波变换分解将信号分解为低频部分和高频部分,且信号长度是原信号长度的一半。往下层次的分解都是针对低频部分,而高频细节部分则不再继续分解。且每次分解得到的低频和高频信号的长度减半,相当于在滤波后进行了“二抽一采样”。 图3-7 一层小波分解 如此分解N次,最终得到第N层上的小波分解结果,它包含了原始信号从低到高的频率信息,且每个序列同时含有一定频率上原始信号的全部时间信息,因而小波谱上的每一点既含有时间信息,又含有频率信息,具有时频局部化特征。将信号分解到小波域以后,就可对不同频段内的小波系数进行分析处理,如可对我们感兴趣的某一频段进行重构,对小波系数进行滤波,去噪,数据压缩,奇异性检测以及故障信号的特征提取等。 (2)二维图像小波变换分解与重构 经过二维小波变换,可以将原图像逐级分离,分离成具有不同尺度的子图像(见图3-8)。原图经小波变换后生成四个分量部分:低频分量LL,保留了原图的大部分信息:高频分量LH(水平方向)、HL(垂直方向)、HH(对角线方向),均包含了边缘、区域轮廓等细节信息。多分辨小波变换还可以把图像分解到更低分辨率水平上,只对LL进行下一级的小波分解,得到由低频的轮廓信息和原信号在水平、垂直和对解线方向高频部分的细节信息组成,每一次分解均使得图像的分辨率变为原信号的一半。 a)分解 b)重构 图3-8 二维小波分解与重构 3.5.2 小波变换的图像去噪优越性 具体来说,小波去噪方法的成功主要得益于小波具有如下特点: (1)低熵性。由于小波系数的稀疏分布,使得图像经小波变换后的熵明显降低,多分辨率特性。由于采用了多分辨率的方法,所以小波变换可以在不同尺度上描述信号的局部特征,很好地刻画信号非平稳特征,如边缘、尖峰、断点等,可在不同分辨率下根据信号和噪声分布的特点去噪。 (2)去相关特性。小波变换可以对信号去相关,是信号的能量集中于少数几个小波系数上,而噪声能量分布于大部分小波系数上,即噪声在变换后有白化趋势,所以小波域比时域更利于去噪。 (3)选基灵活性。由于小波变换可以灵活选择小波基,从而可针对不同的应用对象选用不同的小波函数,以获得最佳的效果。 3.5.3 基于小波变换的自适应模糊阈值法原理 (1)Donoho阈值消噪算法及其不足 小波阈值图像去噪的基本思想是: ①先对含噪信号 做小波变换,选择合适的小波和小波分解层数 ,得到相应的小波系数; ②对分解得到的小波系数 进行阈值处理,得出估计小波系数 ,尽可能小, 为原始信号的小波变换系数; ③利用 进行小波重构,得到估计信号, 即为去噪后的图像信号。 对观测图像信号 ,其中 为原始信号, 为方差为 的噪声。对 进行小波分解之后, 所对应的各尺度上的小波系数 在某些特定的位置有较大的值,这些点对应于原始信号 的奇变位置和重要信息,而其它大部分位置的 值较小,对于噪声 ,它所对应的小波系数 在每一尺度上是均匀分布的,而且值较小,并随着尺度的增加,其幅值有所减小。取 ,(N为信号长度),采用硬阈值和软阈值对小波系数进行阈值处理: 硬阈值法 : (3-15) 软阈值法: (3-16) 这两种方法易于实现,可快速地得到估计小波系数,在实际中得到了广泛的应用,但该算法存在不足。从图3-9看可知,在硬阈值方法中,小波系数 在阈值 处是不连续的,这样,利用 重构所得的信号会产生振荡;而由软阈值方法得到的 虽然整体连续性好,但当 时, 与 总存在恒定的偏差 ,小波域的分布是一致的,随着分解尺度的增加,小尺度上的边缘细节小波系数一般很小,在滤除噪声时往往同时滤除了部分边缘细节,造成了边缘模糊; (a)硬阈值方法 (b)软阈值方法 图3-9 硬阈值和软硬阈值方法 对于脉冲噪声,噪声点的相应小波系数一般很大,特别它对于低频成分的影响很大,因此在小波域内不易滤除。此外,根据小波变换与Lipschitz指数的关系可知,信号和噪声在不同尺度下的小波变换系数呈现的特性截然相反,即随着尺度的增大,信号的小波系数增大,而噪声的小波系数减小。在硬、软阈值两种方法,都没有考虑这一特性,在不同的小波分解尺度上采用相同的阈值,这样势必会滤除一些属于边缘信号的系数,造成图像模糊。针对以上不足,本文提出一种简单并且效果较好的折衷算法​——自适应模糊阈值去噪算法。 (2)自适应模糊阈值去噪算法的提出 由于中值滤波(Median Filter,MF)算法能够很好地消除脉冲噪声,保护细节及边缘的特性。因此,在本文的改进算法当中,先对含噪图像进行中值滤波处理得到平滑效果不佳的图像。具体操作分为二步:噪声检测、中值滤波。 为所有像素个数, 为 的个数,即噪声点个数, 为受噪声污染程度。根据噪声率按式(3-3)采用不同的滤波窗口进行标准中值滤波[11]。 (3-17) ①小波系数随着尺度增加也增大的,表明是边缘细节,对此小波系数,保持不变; ②对于其他的小波系数采用式(4)得到小波系数估计值。 (3-18) 其中 , 随着 的增大而减小, 为隶属函数, ,这样保证了 接近 时, 趋近于 , 的整体连续性得到了保证,从而避免了信号产生振荡;而且当 时, 与 的偏差越来越小,使重构信号与真实信号的逼近程度提高。在软阈值算法中, 减小了 ,因此要设法减小此偏差,当 的取值介于 与 之间,使估计出来的小波系数 更接近于 。基于此思想,在阈值估计当中加入一个模糊隶属函数 , 的取值就介于 与 之间了,从而获得更好的去噪效果。Donoho在软阈值算法中给出的阈值 ,它在不同尺度 上是固定的,在本文改进算法中的阈值取为 ,其中 为噪声的方差, 为离散采样信号的长度, 为分解尺度[12]。 含噪图像 去噪图像 图3-10 自适应模糊软阈值滤波流程图 综合上述,自适应模糊软阈值算法具体步骤如下,算法流程图如图3-10所示: (1)对含噪图像经过中值滤波得到预处理后的图像; (2)对预处理后的图像进行小波变换,对小波系数采取自适应的处理方式,边缘细节的小波系数保持不变,其他小波系数采用模糊软阈值处理; (3)对经过(2)处理后的小波系数进行增强处理; (4)对小波系数进行小波逆变换,得到去噪增强后的图像[13]。 3.6 本章小结 本章的主要内容是详细介绍了四种去噪方法:邻域平均法、中值滤波法、维纳滤波法及自适应模糊小波变换法的原理和算法。 第4章 基于Matlab的图像去噪算法仿真 本章仿真时选取一张彩色图片“2010-03-09-2.bmp”,并在图片中加入两种噪声:高斯噪声和椒盐噪声。所谓高斯噪声是指它的概率密度函数服从高斯分布的一类噪声。椒盐噪声是由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,属于非平稳噪声。本章利用Matlab软件对含噪图像的去噪算法进行仿真,将应用邻域平均法、中值滤波法、维纳滤波法和模糊小波变换法对含有高斯噪声和椒盐噪声图像的去噪效果进行比较,从而得到相应结论。 4.1 邻域平均法的仿真 本节选用邻域平均法对含有高斯噪声和椒盐噪声的图片进行去噪,并用Matlab软件仿真。 (1)给图像加入均值为0,方差为0.02的高斯噪声,选择3×3模板去噪 Matlab部分代码: j=imnoise(x,'gaussian',0,0.02); h=ones(3,3); h=h/9; k=conv2(j,h); 仿真结果如图4-1所示。 图4-1 邻域平均法对高斯噪声去噪的仿真结果 (2)给图像加入噪声密度为0.02的椒盐噪声,选择3×3模板去噪 Matlab部分代码: j=imnoise(x,'salt & pepper',0.02); h=ones(3 3); h=h/9; k=conv2(j,h); 仿真结果如图4-2所示。 图4-2 邻域平均法对椒盐噪声去噪的仿真结果 从仿真结果可以看出:邻域平均法实现起来很方便,适用于消除图像中的颗粒噪声,但需要指出这种方法既平滑了图像信号,同时使图像的细节部分变得模糊。由以上处理后的图像可以看到:邻域平均法消弱了图像的边缘,使图像变得有些模糊。如图4-1所示,均值滤波对高斯噪声的抑制是比较好的,但对椒盐噪声的抑制作用不好,如图4-2所示,椒盐噪声仍然存在,只不过被削弱了而已。为了改善均值滤波细节对比度不好、区域边界模糊的缺陷,常用门限法来抑制椒盐噪声和保护细小纹理,用加权法来改善图像的边界模糊,用选择平均的自适应技术来保持图像的边界。 4.2 中值滤波的仿真 本节选用中值滤波法对含有高斯噪声和椒盐噪声的图像进行去噪,并用Matlab软件仿真。 (1)给图像加入均值为0,方差为0.02的高斯噪声,分别选择3×3模板、5×5模板和7×7模板进行去噪 Matlab部分代码: j=imnoise(I,'gaussian',0,0.02); x=j(:,:,1); subplot(221); imshow(x); title('高斯噪声图片'); k1=medfilt2(x,[3 3]); k2=medfilt2(x,[5 5]); k3=medfilt2(x,[7 7]); 仿真结果如图4-3所示。 图4-3 中值滤波法对高斯噪声去噪的仿真结果 (2)给图像加入噪声密度为0.02的椒盐噪声,分别选择3×3模板、5×5模板和7×7模板进行去噪 Matlab部分代码: i=imread('2010-03-09-2.bmp'); j=imnoise(I,'salt & pepper',0.02); x=j(:,:,1); subplot(221); imshow(x); title('椒盐噪声图片'); k1=medfilt2(x,[3 3]); k2=medfilt2(x,[5 5]); k3=medfilt2(x,[7 7]); 仿真结果如图4-4所示。 图4-
/
本文档为【基于Matlab的图像去噪算法的研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索