第一章引言1.1研究背景和意义现实中的数字图像在数字化和传输过程中,常受到成像设备与外部环境噪声干扰等影响,成为含噪图像。完全去除或减少数字图像中的噪声称为图像去噪技术。现实中的医学图像在采集、转换和传输中,常常受到成像设备与外部环境噪声干扰等影响,产生降质,大多数的现实医学图像都是含噪图像,医学图像噪声对医学图像分析、医学图像压缩的影响很大,因此医学图像去噪是医学图像预处理阶段最重要的任务之一。医学图像去噪是图像预处理中一项被广泛应用的技术,其作用是提高医学图像的信噪比,突出医学图像期望特征。因此,具体重要的应用价值。本文结合高斯噪声和椒盐噪声两种噪声类型的特点进行了分析,并采用均值滤波、中值滤波和改进中值滤波算法对受高斯噪声和椒盐噪声污染的图像进行了去噪,并对去噪效果进行了对比。1.2医学图像现代医学已经越来越依赖于医疗设备的协助,而其中的医疗成像设备则是其中最为重要的设备,贯穿了从医疗诊断、手术导航、术后效果评判等全流程。而随着医学成像技术的快速发展,各种成像技术给医患提供了更丰富、更精确的成像效果。但是不同的成像技术一般都基于其成像原理而具有其独特的优点,也存在着其特定的局限,完美而通用的成像技术手段现在仍未出现,不同的成像技术在不同的应用情景下会有优劣,对不同组织器官的成像也各有千秋。1.3噪声类型噪声是电路或系统中不含信息量的电压或电流。在医学成像系统与自然界中,存在着各种干扰源(噪声源),如大功率电力电子器件的接入、大功率用电设备的开启与断开、雷击闪电等都会使空间电场和磁场产生有序或无序的变化,这些都是干扰源(或噪声源)。这些源产生的电磁波或尖峰脉冲通过磁、电耦合或是通过电源线等路径进入放大电路,各种电气设备,形成各种形式的干扰[1-2]。其占用高斯噪声和椒盐噪声是两种最常见的医学图像噪声类型[3]。所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。在任选瞬时中任取n个,其值按n个变数的高斯概率定律分布。椒盐噪声(黑色噪点为椒,白色噪点为盐)出现的位置随机,图像中到处存在噪声,噪声的幅值随机分布。第二章去噪算法2.1均值滤波算法均值滤波是一种典型的线性去噪方法,因为其运算简单快速,同时又能够较为有效地去除高斯噪声。因而适用面较广,至今仍是一种常用的去噪方法,许多滤除噪声方法都是在此基础上发展而来。均值滤波的方法是对将处理的当前像素,选择一个模板,该模板为其邻近的若干像素组成,用模板中像素的均值来替代原像素的值。如图3-1所示,序号x是当前像素,序号为1至8是邻近像素。求模板中所有像素的均值,再把该均值赋予当前像素点(,)xy,作为处理后图像在该点上的灰度(,)gxy,即:1(,)(,)fsgxyfxyNÎ=å(2-1)其中s为模板,N为该模板包含像素的总个数。12345678x图2-1模板示意图中值滤波公式中N表示模板窗口中的像素个数。g(x,y)是均值滤波后中心像素的灰度值。均值滤波是一种线性滤波器,但模糊效应比较严重,去噪的同时会引起细节信息的丢失[4-5]。2.2中值滤波算法中值滤波是一种常用的非线性平滑滤波方法,其基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代换。中值滤波优于均值滤波之处在于它不仅像均值滤波一样可以抑制噪声,而且可以使边缘模糊效应大大降低。设二维图像的像素灰度集合2,{(,)}ijXijZÎ2Z为是二维整数集。对于大小为Mmn=?(含奇数个像素)的窗口内的像素值中值被定义为:,,[,(,)]ijikjlMYMedianXklM++=?(2-2)式(2-2)中表示把窗口内的奇数个像素按灰度值大小排列,取中间像素值赋给,ijY,然后以,ijY取代二维窗口M中的中心像素值作为中值滤波的输出。对于二维图像进行滤波的时候,滤波窗口也可以是二维的。在实际使用窗口时,窗口的尺寸一般先用3再取5逐点增大,直到其滤波效果满意为止。中值滤波的主要作用是将那些与周围像素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点,所以中值滤波对于滤除图像的椒盐噪声非常有效[6]。2.3改进的中值滤波算法中值滤波仍然会带来一定的模糊效应,并且对于噪声的去噪过程没有针对性,因此本文提出一种改进算法,大体思路是将加入图像像素点是否为噪声的判决预处理,只针对可能为噪声点的区域进行去噪,而对于非噪声点不进行去噪。具体算法过程如下:(1)首先逐个像素判断灰度值是否在[0,0+α]和[255-α,255]两个范围内,若不在这个范围内则不进行滤波处理,保持原先的灰度值。若属于这个范围,则说明可能是椒盐噪声,需要滤波处理。(2)对于可能是椒盐噪声的像素点提取其3×3邻域范围九个像素的灰度值,分别判断统计是否属于[0,0+α]和[255-α,255]两个范围内,若属于这个范围,则去除这个像素,若不在这个范围进行保留。(3)将3×3邻域范围内不在噪声区域范围的像素予以保留,并组成一个新序列,对这个所有元素都不属于噪声区域的序列进行排序,选取中值取代中心位置原先像素的灰度。(4)若图像某个区域原先就是很亮,或者很暗的区域,则会出现3×3邻域范围九个像素的灰度值都在噪声区域内,此时若去掉属于噪声灰度范围的像素后,序列为空序列。那么加入一个序列长度的判断,若序列为空,长度为0,则此像素点也不做滤波处理,保持原先的灰度值。此方法不仅更有针对性的对可能的噪声点直接滤波,避免对非噪声区域因为滤波引起的模糊效应,滤波效果更好,而且对中值滤波本身的序列进行了改进,避免了高密度噪声情况排序序列中过多噪声点存在引起的滤波失效。下文将有详细具体的实验结果和对比分析。第三章实验结果对比3.1实验图像本文采用BrainWeb数据库。BrainWeb数据库含有不同弛豫时间和参数的MRI图像,图像尺寸都为181×217×181,图像体素间隔(Spacing)为1mm×1mm×1mm。3.2实验环境实验结果均在Pentium(R)4CPU2.0GHz,1G内存,MicrosoftWindowsXPProfessionalServicePack3操作系统,MATLAB7.0软件环境下实现。MATLAB软件很适合图像处理算法仿真和验证,因此本设计采用MATLAB作为开发环境实现。下面对软件特点进行介绍。MATLAB软件由美国mathworks公司发布,其面对的科学领域包括科学计算、可视化以及交互式程序设计的高科技计算环境。MATLAB最早应用于矩阵计算中,后来涉及的领域扩大,功能不断完善,现已发展为数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集于一身的易用的视窗环境软件,为科学工作者、研究人员、工程技术者提供了进行有效数值计算的诸多学科领域的全面解决方案。MATLAB主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。可以说,已经没有MATLAB不涉足的科研领域。同时MATLAB在很大程度上摆脱了诸如如C、Fortran等传统非交互式程序设计语言的编辑模式,标志着当今世界科学计算软件的前沿水平。由于MATLAB在图像处理领域的诸多优势[7-8],因此本设计采用MATLAB作为开发的软件环境。3.3实验结果图3-1是均值滤波算法和中值滤波算法对高斯噪声污染图像的去噪效果对比。图3-2是均值滤波算法、中值滤波算法和改进中值滤波算法对椒盐噪声污染图像的去噪效果对比。(a)含高斯噪声的大脑医学图像(b)均值滤波效果(c)中值滤波效果(d)改进中值滤波算法效果图3-1高斯噪声医学图像去噪效果对比上面图3-1的实验结果图和表的数据是对应了,从以上的实验可以得出以下结论:(1)对高斯噪声污染的医学图像,均值滤波通常效果比中值滤波效果好。(2)改进中值滤波中存在部分颗粒,但与经典的中值滤波算法相比,保留了更多的图像细节信息。(a)含椒盐噪声的大脑医学图像(b)均值滤波效果(c)中值滤波效果(d)改进中值滤波算法效果图3-2椒盐噪声医学图像去噪效果对比上面图3-2的实验结果图和表的数据是对应了,从以上的实验可以得出以下结论:(1)对椒盐噪声污染的医学图像,中值滤波通常效果比均值滤波效果好。(2)但如果噪声密度大,非常多的像素都是噪声点,此时均值滤波不能清除掉全部椒盐噪声。(3)改进的中值滤波性能优于中值滤波,可以清除掉更多的椒盐噪声。当噪声密度很大时,这种优势更加明显。3.4对比总结综上所述,在医学图像去噪预处理中,对于高斯噪声,均值滤波比中值滤波和改进的中值滤波算法更有优势;但对于椒盐噪声,中值滤波比均值滤波更有优势。由于中值滤波会带来一定的模糊效应,改进中值滤波去椒盐噪声的去除更有针对性,因此,在与经典中值滤波类似的去噪效果的条件下,保留了更多的图像细节信息。第四章总结与展望本文分析了高斯噪声和椒盐噪声两种噪声类型,并对这两种噪声污染的医学图像采用均值滤波、中值滤波进行去噪处理,并设计了一种改进中值滤波算法,此算法对椒盐噪声的去噪效果更有针对性,因此减少了经典中值滤波的模糊现象。本文对各种算法的医学图像去噪效果进行了实验结果对比、分析和总结。尽管本文研究取得了一定的成果,但是由于时间和实验条件所限,本文的工作还有很多需要完善和深入的地方。结合研究工作中的一些体会,今后的研究工作可以在以下几个方面进一步开展:(1)更多不同类型的医学图像去噪效果的设计。本文只采用了大脑医学图像进行实验,不同的医学图像具有不同特点,可以具体分析,设计具体的去噪方案。(2)去噪算法的自动判别。均值滤波和中值滤波两种算法对高斯噪声和椒盐噪声的处理效果不同,因此需要先判别噪声类型,才能选择合适的去噪算法。这些工作可以在未来的研究中,进一步深入探索。参考文献[1]R.C.Gonzalez,RE.Woods,S.L.Eddins.DigitalimageprocessingusingMATLAB[M].Beijing:Pub.HouseofElectronicsIndustry:PearsonEducation(Asia)Co.,2004:231-234.[2]章毓晋.图像处理和分析技术(第二版)[M].北京:高等教育出版社,2008:71-72.[3]LiuJieping,YuYinglin.Aflexiblemethodforimagenoiseremoval[J].JournalofSouthChinaUniversityTechnology,2000,28(2):60-63.[4]唐彩虹,蔡利栋.一种基于直方图的加权均值滤波方法[J].微计算机信息,2006,22(22):202-204.[5]陈初侠,丁勇,刘栎莉.去除椒盐噪声的自适应开关加权均值滤波[J].计算机工程,2010,36(4):210-212.[6]张媛,蔡利栋.一种去除文本图像椒盐噪声的方法[J].长春理工大学学报(自然科学版),2010,33(2):129-132.[7]王家文,王皓,刘海.MATLAB7.0编程基础[M].北京:机械工业出版社,2005:50-175.[8]苏金明,阮沈勇.MATLAB实用教程[M].北京:电子工业出版社,2005.附录程序代码:%%椒盐噪声去噪部分I=imread('MRT1.bmp');subplot(2,2,1),imshow(I);%原始含椒盐噪声图像[heightwidth]=size(I);Imean=I;fori=2:height-1forj=2:width-1s=sum(sum(I(i-1:i+1,j-1:j+1)))/9;%均值滤波Imean(i,j)=s;endendsubplot(2,2,2),imshow(Imean);%显示均值滤波结果Imed=I;fori=2:height-1forj=2:width-1sortseq=[I(i-1,j-1),I(i-1,j),I(i-1,j+1),I(i,j-1),I(i,j),I(i,j+1),I(i+1,j-1),I(i+1,j),I(i+1,j+1)];s=sort(sortseq);