椒盐噪声和中值滤波
图像椒盐噪声的分阶段中值滤波算法
第27卷第3期2013年9月南华大学学报(自然科学版)Journal of University of South China(Science and Technology)Vol.27No.3Sep.2013收稿日期:2013-04-08作者简介:晏资余(1988-),男,湖南浏阳人,南华大学计算机科学与技术学院硕士研究生.主要研究方向:数字图像处理.*通讯作者.文章编号:1673-0062(2013)03-0066-06图像椒盐噪声的分阶段中值滤波算法晏资余,罗 杨*,杨 浩(南华大学计算机科学与技术学院,湖南衡阳421001)摘 要:针对自适应中值滤波算法的缺陷 对高密度椒盐噪声图像滤波后留下黑色斑块,提出了一种分阶段中值滤波算法.该算法对图像执行两次小窗口的滤波操作,相较于采用较大窗口的滤波,其在有效去除噪声的同时降低了结果图像的模糊程度.先对所有噪声点进行一次中值滤波消除了盐粒噪声,再用窗口内非噪声点的灰度中值代替胡椒噪声点的灰度值以去除黑色斑块.最后的仿真实验结果表明,本文算法既有像自适应中值算法一样滤除低密度椒盐噪声的良好性能,又有对高密度椒盐噪声图像的降噪能力.关键词:椒盐噪声;中值;分阶段去噪中图分类号:TP391.41 文献标识码:BGrading Median Algorithm for Filtering Salt and Pepper Noises in ImageYAN Zi⁃yu ,LUO Yang *,YANG Hao(School of Computer Science and Technology,University of South China,Hengyang,Hunan 421001,China)Abstract :A grading median filtering algorithm was proposed to offset the defect of adaptive median filter (AMF)that it left some black plaque after filtering images corrupted by high density salt and pepper noises.Through twice filter to the noise image with small size win⁃dow,compared with bigger ones,it reduced the blur degree of result image.For the first time,it eliminated the salt noise by using median filter (MF)to noise pixels,and then wiped off the black plaque by replacing pepper noise pixels with the median of the noise free pixels in its 8⁃stly,the simulation result shows,our algorithm either has the good capability to filter the low density noises as well as AMF or has the ability to filter higher density salt and pepper noises in image.key words :salt and pepper noise;median;grading de⁃noising第27卷第3期晏资余等:图像椒盐噪声的分阶段中值滤波算法0 引 言椒盐噪声又称脉冲噪声,它由电磁干扰及通信系统的故障和缺陷等因素而产生.图像中的椒盐噪声表现为白色与黑色的点,它们对高级图像处理中的图像分割与识别的干扰较大,因此滤除椒盐噪声是图像处理的一项重要工作.中值滤波器(MF)被认为是一种去除椒盐噪声的实用工具,但其降噪效果依赖于滤波窗口的大小.大窗口滤波会在去除噪声的同时给图像带来了较大的模糊性,小窗口滤波的降噪效果则略显不足,于是就出现了一系列的改进算法.开关中值(SM)算法[1]㊁自适应中值(AM)算法[2⁃3]以及加权中值(WM)算法[4]是三种较经典的中值滤波改进算法.这三种算法对低噪声的滤除能力较强.其中,AM的滤波窗口随着局部噪声密度的大小而改变,噪声密度大用较大的窗口滤波,噪声密度小则用较小的窗口滤波,相较于MF的固定窗口滤波而言,这种操作有更好的保真度,而极值中值(EM)算法[5]是一种保真度更好的自适应中值算法.这些改进的滤波算法都提高了中值滤波器的性能,能够降低结果图像的模糊程度,但它们对高密度椒盐噪声的滤除能力不足.针对这一缺陷,也有一些改进算法弥补了它们的不足.如文献[6⁃7]的自适应开关中值(ASM)算法将噪声探测与滤波分开,先利用大窗口进行噪声探测,之后再用通过变化窗口大小对噪声点进行自适应滤波,这种算法在改善滤波性能的同时也增加了算法的时间复杂度.自适应加权开关中值(AWSM)算法[8⁃9]同样将噪声点探测与滤波分开进行,其滤波效果要比前者好,但其没有减少算法的运行时间.噪声点位置的探测对滤波效果产生的影响固然较大,但找到噪声点并非易事.查找条件太松容易漏查,导致降噪效果不明显;条件太紧则容易将非噪声点视为噪声点,导致失真过多.况且大窗口的查找运算较费时,大窗口的滤波易失真,这在噪声密度较大时尤为明显.因此,不如简化操作,将噪声点分两次滤除.第一次只滤除部分噪声点或一类噪声点,第二次再滤除另外一类噪声点.利用这一点,本文提出了一种能快速去除高密度椒盐噪声的中值滤波算法.1 自适应中值滤波滤除噪声的一种较好方法是只对噪声点滤除,而将非噪声点予以保留,自适应中值滤波器(AMF)就是这样设计的.由于椒盐噪声在图像中表现为两种形式:一种为白色的 盐粒”点称为盐粒噪声,另一种为黑色的 胡椒”点称为胡椒噪声.因此可以利用这一颜色特征对其进行识别.一幅灰度级为256的图像f的像素点颜色表现为: f(x,y)=255,白色0<f(x,y)<255,其他颜色f(x,y)=0,{黑色(1)其中f(x,y)表示图像在点(x,y)处的灰度值(下同).由此看出,椒盐噪声在图像中表现为最大灰度值与最小灰度值,可以应用这一点来区分图像中的噪声点与非噪声点.还可以更进一步估计出图像中噪声的密度,如果用n表示一幅M×N图像中非噪声点的总数,那么图像的噪声密度为:ρ=1-n MN(2)实际上,并不需要对整幅图像进行噪声密度估计,而是只需对局部噪声密度有一个大致的估计即可.AMF对椒盐噪声滤除的自适应性表现为两点:第一,根据噪声密度的不同自动选择不同尺寸的滤波窗口;第二,自动区分噪声点与非噪声点,并对噪声点执行滤波.实际操作中,AMF对像素点(x,y)的滤波过程如下:1)找到点(x,y)的r×r邻域内像素进行升序排序,找到序列的最大值ma㊁中值me及最小值mi.即ma=max{f(x+s,y+t)}me=median{f(x+s,y+t)}mi=min{f(x+s,y+t{)}(3)其中-[r/2]≤s,t≤[r/2],[㊃]表示取整(下同),r为邻域半径,初始窗口半径一般取3. 2)若该邻域内满足mi<me<ma或窗口尺寸达到最大时(一般为7×7),则进入到3);否则将窗口向四周扩大一个像素宽度即r=r+2,并转到1).3)若f(x,y)满足mi<f(x,y)<ma,则将其视为 非噪声点”不对其进行任何操作,否则就对其执行滤波操作,具体操作如下:g(x,y)=f(x,y)mi<f(x,y)<mame{其他(4)其中g(x,y)为对点(x,y)滤波后的灰度值(下同).到此,一个像素点的滤波操作执行完毕.当图像的所有像素点执行完上述步骤后就完成了对76 南华大学学报(自然科学版)2013年9月整幅图像的滤波操作得到结果图像g .如果噪声密度较大,则得到的图像g 会出现一些黑色的斑块.可以从自适应窗口的滤波过程分析出斑块产生的原因:若窗口尺寸已达到最大的7×7,仍然不满足滤波条件mi <me <ma 时,就会直接进入到3)滤波完成.若此时窗口内的中值为0,则可将其分为以下2种情况来讨论:第一种情况,胡椒噪声点未被滤除.若该噪声点的7×7邻域(用3×3代为描述)内像素排好序后为{0,0,0,0,0,2,3,5,6},那么此时mi =0,me =0,ma =6不满足滤波条件,但此时窗口尺寸已经达到最大,因此执行3)后该点的灰度值依旧为0,其滤波过程示意图如图1所示.图1 胡椒噪声点保持不变Fig.1 Pepper noise pixel stays the same第二种情况,椒盐噪声转化为胡椒噪声.椒盐噪声图像经AMF 滤波后会发现白色的盐粒噪声消失了,然而这并不意味着滤波时将所有盐粒噪声点的灰度值都用一个恰当的中值代替.实际上,它只滤除一部分的盐粒噪声,另一部分的盐粒噪声则转化为了黑色的胡椒噪声.假设窗口尺寸已经达到7×7(用3×3窗口代为描述),那么可将该过程表示为如图2所示.图2 椒盐噪声点转化为胡椒噪声点Fig.2 Salt noise pixel translated to pepper one图2a 所示图中的像素点按升序后排列为{0,0,0,0,0,2,3,6,255},此时中值me =0.如图2b 所示,滤波后该点的灰度值就转化为0,于是椒盐噪声点就变成了胡椒噪声点.上面两种情况最可能在图像中噪声水平较大的情况下发生,因为当噪声水平较低时滤波窗口尺寸根本不需要达到7×7就可以完成滤波操作.由此可知,当噪声密度较大时AMF 只是清除了部分噪声点(几乎全部的椒盐噪声和部分胡椒噪声),而留下了较多的胡椒噪声点.噪声密度越大,这样的点就越多,甚至于出现连续多点的灰度值都为0的情况,这就导致滤波后图像中产生黑色的斑块.实验表明,当图像中的椒盐噪声密度达到0.6以上时,经AMF 滤波后图像中就会出现这样的黑色斑块.此即AMF 不适用于高水平椒盐噪声下滤波的根本原因.2 分阶段去噪目前,有一些算法对AMF 的缺陷进行了改进.AWSM 算法就是其中之一,其主要思想是给噪声点邻域的中值赋予不同大小的权值再更新,但权值的大小不好确定,且其选择也是多种多样的.文献[8⁃9]提出了模糊加权,通过邻域内的最大灰度距离(某点邻域内其它点的灰度值与该点的灰度值之差的最大绝对值)与两个阈值控制权值,灰度距离较大的点给中值赋予较大的权重,距离较小的则赋予较小的权重,这种方法有其合理性,但阈值不好确定.文献[10]利用信号点作为牛顿插值的节点估计出噪声点的灰度值,一定程度上加大了噪声的滤除能力.文献[11]则用相邻三个信号点的灰度均值代替噪声点的灰度值,维持了好的保真度,但其在噪声探测阶段采用了较大的窗口,因此需进一步完善.而我们的目标是以一种更易实现的方法对AMF 进行改进.改进过程由以下两步构成:第一步只追求能够滤掉一部分噪声点,因此只需采用小窗口滤波,即将最大窗口尺寸设为3×3,这样既可以滤掉一部分噪声点,又能保护好图像中的细节信息,这些细节信息对第二步的滤波工作是十分有用的.这一步消除了几乎所有的盐粒噪声,剩下的噪声几乎都是胡椒噪声.由于AMF 对较大噪声的图像滤波后会产生黑色的斑块,但相对于滤波前图像中的 非噪声点”数量已经大为改善,且只出现了一种噪声点,因此一般的窗口内不可能出现全是0的像素点.滤波后噪声点(图3中深色背景处)邻域内像素的灰度值分布类似于图3中的两种情况.图3a 表示在3×3邻域内有灰度值不为0的像素点,图3b 表示在3×3邻域内所有像素点的灰度值都为0,但在5×5邻域内有灰度值不为0的点.第二种情况是十分罕见地,因为即使噪声密86第27卷第3期晏资余等:图像椒盐噪声的分阶段中值滤波算法度达到0.9,若3×3邻域内有8个点的值为0,那么还有一个点的值不为0,更何况第一步我们已经去除了一些噪声.根据这事实我们可以采取一些措施对噪声点进行去除.图3 AMF 滤波后噪声点邻域内灰度值的大致分布情况Fig.3 The rough gray value distribution of pixels innoise pixels neighborhood after AMF filtering若噪声点(x ,y )的r 2×r 2邻域内所有灰度值为非0的像素点的中值为me 2,那么用me 2代替该点的灰度值就可以滤除该噪声点.这其实也是一个自适应滤波过程,具体执行过程如下:4)找到点(x ,y )的r 2×r 2邻域内非0像素的中值me 2.即me 2=median {g (x +s ,y +t )}(5)其中-[r 2/2]≤s ,t ≤[r 2/2],开始时取r 2=3.5)若me 2≠0或窗口半径达到最大(5×5),则进行6);否则将窗口半径按表达式r 2=r 2+2扩大并转到4).6)对像素点(x ,y )执行下列操作:g (x ,y )=me 2g (x ,y )=0g (x ,y )g (x ,y )≠{0(6) 当黑色斑块中的所有的噪声点都被滤除后,黑色斑块即被滤除.至此,1)至6)就是分阶段中值滤波算法的过程.实际操作中,只需进行两次小窗的滤波就可已达到滤除密度接近0.9的噪声的目的.第一次为通过1)至3)滤除椒盐噪声的过程,第二次则为通过4)至6)滤除胡椒噪声的过程,两次的最大窗口半径都设为3,但为了保证第二次能滤除全部噪声点,可保留最大邻域半径为5这一自适应滤波过程.滤波过程中小窗口的使用使得分阶段中值算法在滤波效率上要优于采用大窗口滤波的ASM 及AWSM.3 实验结果分析在仿真实验中采用尺寸为256×256,格式为bmp 的Lena 灰度图像,并对其加上0.1~0.9的椒盐噪声.比较了MF㊁AMF 与本文算法对各噪声密度水平下的滤波效果,并借助客观评价量均方误差(MSE)与峰值信噪比(PSNR)进行结果对比分析.MSE =1MN ∑Mx =1∑Ny =1(o (x ,y )-d (x ,y ))2PSNR =10log (L -1)2[]ìîíïïïïMSE(7)其中o (x ,y ),d (x ,y ),L 分别表示原始无噪声图像㊁滤波结果图像及图像的最大灰度级.图4展示了三个算法的滤波效果图.很明显,在大噪声水平下本文算法优于AMF,而AMF 优于MF.从图4c 可以看出经AMF 滤波后的图像存在黑色的斑块,而经本文算法算滤波后的图像已经没有黑色的斑块了,如图4d 所示.图4 三个算法的滤波效果图Fig.4 Output image of three algorithm.表1给出了不同噪声水平下三种算法的PSNR 值,图5则将这些数据以散点图的方式展示出来.从表1或图5可知,当噪声水平在0.1~0.2之间时,本文算法的滤波效果略低于AMF,这是由于第一阶段采用3×3窗口滤波后留下了一些椒盐噪声,而第二阶段的3×3滤波只是对黑点进行了清除,于是最后还留下了很少的白点.这可以96 南华大学学报(自然科学版)2013年9月通过增大窗口尺寸来解决,比如将第一阶段的最大滤波窗口设为5×5就可以滤掉所有的白点噪声.对于噪声水平大于0.2的情况就没有必要将最大窗口半径设为5了,因为表1与图5中的数据已经显示,此时本文算法对椒盐噪声的去除效果要好于AMF,而当噪声水平大于0.6时,则要明显的优于AMF.因此本文算法既适用于低噪声水平下的滤波又适合于高水平噪声条件下的滤波,即本文算法在性能上优于AMF 算法.表1 不同噪声密度下各算法输出图像的PSNR Table 1 The PSNR of output image from differentalgorithm in different noise density噪声密度7×7标准中值滤波7×7自适应中值滤波本文算法0.125.0529.2827.280.224.0127.6027.480.323.1925.7626.260.422.3524.4625.080.521.4723.2224.230.620.0221.8423.430.716.9319.4022.830.812.1915.2421.700.98.0011.1719.46图5 各算法输出图像的PSNR 与输入图像噪声密度的关系Fig.5 The relationship between PSNR of output image from different algorithm and noise density of input image4 结 论通过对自适应中值滤波器的缺陷分析,以去除滤波后的黑色斑块为出发点,改善了滤波器的性能,使其能够适用于高水平脉冲噪声下的图像滤波.主要是通过两点达到这一目标的:第一,不需要一次将噪声全部清除.一次将所有噪声点全部清除,这在噪声密度较大的情况下很难达到,这需要较大的滤波窗口半径,这容易造成误差加剧图像的模糊程度.第二,采用两次小窗口滤波比采用一次大窗口滤波效果要好.通过两次小窗口滤波使得本文算法在低噪声水平下要优于AMF,也是通过小窗口滤波使得算法能在高噪声水平下保持良好的降噪效果.小窗口的滤波,既保护了图像的细节,又节省了滤波的时间.本文算法的滤波效果没有ASM 以及AWSM 那么好,这主要是由于滤波阶段采用中值代替噪声点灰度值而引起的.当噪声密度较大时,一小块的噪声点可能都被同一个中值所代替就会产生模糊效应,这种效应主要体现在图像的边缘部分,是中值滤波的一个缺陷.小窗口的中值滤波虽然可以减少这种模糊效应,但是减小的程度很有限.ASM 与AWSM 之所以能够达到较高的保真度,是因为它们不仅仅是简单的中值替换,而是给替换值赋予一定规则的权值更新,这就使得不同位置的噪声点被不同的值代替,这样就可以保留灰度差异,进而达到保真的目的.此算法只注重降噪部分,目的主要是怎样快速有效的将噪声点去除,没有花过多精力去研究如何降低模糊程度.如果要降低模糊性,则可以借鉴ASM 与AWSM 的权值更新法及插值估计或其他方法.参考文献:[1]Sun T,Neuvo Y.Detail⁃preserving median based filters in image processing [J ].Pattern recognition letters,1994,15(4):341⁃347.[2]Hwang H,Haddad R A.Adaptive median filters:new al⁃gorithm and results[J].IEEE Transaction on Image Pro⁃cessing,1995,4(4):499⁃502.[3]武英.一种图像椒盐噪声自适应滤除方法[J].微电子学与计算机,2009,26(1):148⁃150.[4]Brownrigg D R K.The weighted median filter[J].Com⁃munications of the ACM,1984,27(8):807⁃818.(下转第77页)7第27卷第3期徐 强等:石鼓网络舆情监控系统的设计与实现户自己的监控网站的网页结构也是下一步的研究方向.其二,就是系统没有把发言者的IP显示出来,不方便用户对恶意发言者的屏蔽和追踪.其三,目前系统对数据信息的分析只是基于用户关键词和行业敏感词的匹配,这就导致由系统分析出的舆情信息数目较多,也没有突出具体的事件或者话题.因而设计一个高效的文本聚类机制也是下一步的研究重点.另外系统的界面也不够精美,影响用户体验,也需要进一步的完善.下一步的主要工作就是针对大量的信息进行自动分类,将有关事件的Web信息资源进行聚类分析,全面掌握与各种热点事件的相关的信息,对事件进行追踪以及进行发展趋势的预测,帮助舆情工作人员时刻掌握事件的发展状况,并提供可靠的数据理论支撑.参考文献:[1]曾润喜,徐晓林.网络舆情突发事件预警系统㊁指标与机制[J].情报杂志,2009,28(11):51⁃54. [2]邓燕.论网络舆情对高校群体性事件的影响[J].重庆邮电大学学报,2009,21(3):123⁃126. [3]Pena⁃Shaff J B,Nicholls C.Analyzing student interac⁃tions and meaning construction in computer bulletin board discussions[J].Computers&Education,2004,42(3):243⁃265.[4]刘德鹏.互联网舆情监控分析系统的研究与实现[D].成都市:电子科技大学,2011.[5]Allan J,Papka R,Lavrenko V.On⁃line new event detec⁃tion and tracking[C]//Proc.of SIGIR Conference on Research and Development in Information Retrieval, 1998:37⁃45.[6]Allan J,Carbonell J,Doddington G,et al.Topic detection and tracking pliot study:final repot[M].Proceedings of the DAPRA Broadcast News Transcription and Under⁃standing Workshop.San Francisco,CA:Morgan Kaufmann Publishers,Inc,1998:194⁃218.[7]Yang Y,Carbonell J G,Brown R D,et al.Learning ap⁃proaches for detecting and tracking new events[J].Intel⁃ligent Systems and their Applications,IEEE,1999,14 (4):32⁃43.[8]朱旭.基于网格研判的高校群体突发事件预警平台的研究[D].北京:北京交通大学,2009. [9]叶昭晖,曾琼,李强.基于搜索引擎的网络舆情监控系统设计与实现[J].广西大学学报(自然科学版), 2011,36(1):302⁃307.[10]董亚倩.高校网络舆情演变规律及安全评估指标体系构建研究[D].淄博:山东理工大学,2012. [11]李婷.校园BBS舆情分析系统的设计与实现[D].武汉:华中科技大学,2009.(上接第70页)[5]邢藏菊,王守觉,邓浩江,等.一种基于极值中值的新型滤波算法[J].中国图像图形学报,2001,6(6):533⁃536.[6]Ng P E,Ma K K.A switching median filter with boundary discriminative noise detection for extremely corrupted im⁃ages[J].IEEE Transaction on Image Processing,2006,15(6):1506⁃1516.[7]Ping W,Junli L,Dongming L,et al.A Fast and reliable switching median filter for highly corrupted images by impulse noise[C]//Circuits and Systems,2007.ISCAS 2007.IEEE International Symposium on.IEEE,2007: 3427⁃3430.[8]Hussain A,Jaffar M A,Ul⁃Qayyum Z,et al.Directional weighted median based fuzzy filter for random⁃valued im⁃pulse noise removal[J].ICIC Express Letters,Part B: Applications,2010,1(1):9⁃14.[9]Kaur J,Gupta P.Fuzzy logic based adaptive noise filter for real time image pProcessing applications[J].2012,9 (4):269⁃271.[10]周艳,唐权华,金炜东.图像椒盐噪声的自适应插值算法[J].西南交通大学学报,2009,44(1):36⁃40. [11]黄宝贵,卢振泰,马春梅,等.改进的自适应中值滤波算法[J].计算机应用,2011,31(7):1835⁃1837.77。
图像噪声处理的方法
图像噪声处理的方法
1.中值滤波:对于一种以椒盐噪声为主的噪声,可以使用中值滤波对图像进行降噪处理。
2.均值滤波:对于一种以高斯噪声为主的噪声,可以使用均值滤波对图像进行降噪处理。
3.维纳滤波:一种比较常用的图像去噪方法,它通常用于对存在高斯白噪声的图像进行处理。
4.小波变换:小波变换有助于检测和去除图像中的噪声,并且同时保留图像的重要细节。
5.自适应中值滤波:在图像中存在非常大的噪声时,可以使用自适应中值滤波来去除这些噪声。
6.多尺度变换:通过将图像分解为不同尺度的内容,可以识别和去除不同类型的噪声,并保留图像的重要细节。
7.深度学习方法:通过训练具有噪声检测和去除功能的深度神经网络,可以实现高效的图像降噪处理。
强椒盐噪声下的模糊边缘自适应中值滤波算法
强椒盐噪声下的模糊边缘自适应中值滤波算法强椒盐噪声是数字图像处理中常见的一种噪声类型,它会对图像的质量和清晰度造成很大的影响。
为了解决这个问题,研究人员提出了很多滤波算法,其中较为常用的是中值滤波算法。
但是,传统的中值滤波算法在处理强椒盐噪声时效果并不理想,因为它只能处理一定程度的噪声,而无法处理过于强烈的噪声。
因此,本文提出了一种新的算法——模糊边缘自适应中值滤波算法,可以有效地处理强椒盐噪声。
模糊边缘自适应中值滤波算法的主要思想是在中值滤波的基础上,引入模糊边缘检测和自适应滤波两个步骤。
具体来说,该算法首先对图像进行模糊边缘检测,以便确定哪些像素点是噪声,哪些是边缘。
然后,对于噪声像素点,采用中值滤波进行处理;对于边缘像素点,则采用自适应滤波进行处理。
这样,就可以在保留图像边缘信息的同时,有效地去除强椒盐噪声。
具体来说,模糊边缘自适应中值滤波算法的实现步骤如下:1. 对图像进行模糊边缘检测,以便确定哪些像素点是噪声,哪些是边缘。
这里可以采用一些经典的边缘检测算法,如Sobel算子、Canny算子等。
2. 对于噪声像素点,采用中值滤波进行处理。
这里可以采用传统的中值滤波算法,即将像素点周围的一定区域内的像素值进行排序,然后取中间值作为该像素点的新值。
3. 对于边缘像素点,则采用自适应滤波进行处理。
这里可以采用一些经典的自适应滤波算法,如均值滤波、高斯滤波等。
具体来说,对于每个边缘像素点,先计算其周围像素点的均值和方差,然后根据一定的阈值判断该像素点是否需要进行滤波。
如果需要进行滤波,则采用自适应滤波算法对其进行处理。
4. 最后,将处理后的图像输出。
模糊边缘自适应中值滤波算法具有以下优点:1. 可以有效地去除强椒盐噪声,保留图像边缘信息。
2. 算法简单易实现,计算速度较快。
3. 可以根据实际情况进行参数调整,以达到更好的滤波效果。
总之,模糊边缘自适应中值滤波算法是一种有效的处理强椒盐噪声的方法,可以在保留图像边缘信息的同时,去除噪声,提高图像质量和清晰度。
毕业论文-基于中值滤波的图像椒盐噪声滤除算法的研究与应用
本科生毕业论文(设计)题目:基于中值滤波的图像椒盐噪声滤除算法的研究与应用院系:信息科学与技术学院专业:计算机科学与技术学生姓名:**学号:********指导教师:罗笑南(教授)(职称)二〇年月基于中值滤波的图像椒盐噪声滤除算法的研究与应用摘要摘要在现实生活中,将实际获得的图像进行数字化,并在其传输和处理过程中,不可避免的存在着一定的外部干扰和内部干扰,使用户所获得的数字图像被噪声污染,而这些噪声中椒盐噪声的表现更为明显。
为此有大量学者针对椒盐噪声进行研究分析。
中值滤波算法以其非线性的特点,在处理椒盐噪声上有显著的效果,因此许多学者针对中值滤波算法进行改进。
典型的如加权中值滤波器、开关中值滤波器、自适应中值滤波器等。
然而这些滤波器或在保护图像细节上能力不足,或去除噪声效果不佳,或对于高密度噪声无法处理,或过于复杂不便于硬件实现,存在着一定的缺陷。
本文研究了几种典型的改进后的中值滤波算法,通过理论分析与实验仿真,比较其在去噪及保护图像细节各方面的优缺点。
在此基础上,本文给出了一种基于噪声检测的模糊自适应中值滤波算法。
在该算法中,通过设计窗口自适应的噪声检测机制,有效的区分了噪声与非噪声像素点,从而高效的保护了图像细节信息,并大量减少需要处理的像素点,降低算法运行时间。
同时对于检测出的噪声点,则采用改进了的自适性中值滤除算法进行噪声滤除,在该滤波算法中加入了窗口自适应控制,对于高密度噪声也能有效的进行去噪处理。
通过详细的理论分析后,本文基于matlab进行大量仿真实验,验证了这些新方法在噪声去除与细节保留上的有效性。
关键词:图像去噪、椒盐噪声、噪声检测、自适应中值滤波、开关阈值滤波AbstractThe acquisition, recording and transmission of digital images through sensors or communication channels are often interfered by different types of noises, which may change the image. Impulse noise is one most common and important kind of noise. Impulse noise removal in image processing is an important pre-processing so that many researchers work on the restoration of images corrupted by impulse noise. Being the most popular nonlinear filter, the median filter is often used to remove impulse noise because of its good denoising power. In that case, many image-denoising filters are proposed based on the median filter, such as the weighted median filter, soft switching filter, adaptive median filter, etc.In this paper, a new image-denoising filter that is based on several advanced median filter is proposed. There is a two-phase scheme in this new algorithm. In the first phase, an impulse noise detection is used to identify pixels which are likely to be noise candidates. The noise detection has variable window size for removal of impulses, so that we can keep most of the signal content of the uncorrupted pixels, and time used for filtering can be reduced by a wide margin. In the second phase, the noise candidates will be filtered by the new filter. Based on the adaptive median filter, the proposed filter is superior to some other filters mentioned in this paper not only for smooth pictures but also images that are complicated and have many sharp edges. Being incorporated with variable windows size, our method is also very useful for images with high noise level.Key Words:image denoising, salt-and-pepper noise, adaptive median filter,impulse noise detector, switching-based median filter目录第一章引言 (1)1.1课题背景及其意义 (1)图像滤波技术概述 (1)中值滤波研究现状 (2)本论文的主要工作 (3)1.3论文章节安排 (4)第二章图像去噪算法综述 (5)2.1图像去噪方法概述 (5)2.2图像噪声模型 (6)2.3图像去噪质量的评估方法 (7)2.4中值滤波 (8)2.5维纳滤波 (9)2.6均值滤波 (11)2.7其他滤波技术 (12)2.8小结 (13)第三章几种中值滤波去噪方法分析 (14)3.1标准中值滤波方法(STANDARD MEDIAN FILTER,SM) (14)3.2带权值的中值滤波方法(WEIGHTED MEDIAN FILTER) (15)3.3三态中值滤波方法(TRI-STATE MEDIAN FILTER) (17)3.4自适应软开关滤波方法 (18)3.5自适应中值滤波方法 (20)3.6实验结果分析 (21)3.7小结 (26)第四章基于噪声检测的自适应中值滤波 (27)4.1噪声检测机制 (27)4.2椒盐噪声滤除方法 (33)4.2.1 噪声滤除策略 (34)4.2.2 动态窗口策略 (35)4.2.3 VAM滤波方法 (37)4.3小结 (37)第五章仿真结果分析比较 (39)5.1噪声检测机制性能分析 (39)5.2V AM滤波器去噪效果分析 (41)5.3小结 (45)第六章结语 (46)6.1论文主要工作总结 (46)6.2展望 (46)参考文献 (48)致谢 (50)第一章引言1.1 课题背景及其意义冈萨雷斯曾在其著作中提到,视觉是人类感觉中最高级的,而图像又在人类的感知中起着重要的作用[1]。
降低盐粒噪声的方法
降低盐粒噪声的方法
盐粒噪声是数字图像处理中常见的一种噪声类型,其形成原因是图像信号与噪声混合后,产生了像盐粒一样颜色较亮的像素点。
这些噪声点会影响图像的质量和清晰度,因此需要采用一些方法进行降噪处理。
1. 中值滤波
中值滤波是一种常用的降噪方法,其基本原理是将图像中的每个像素点与其邻域内的像素值排序,然后取中间值作为该像素点的像素值。
中值滤波可以有效地去除盐粒噪声,同时保留图像的边缘信息。
2. 均值滤波
均值滤波是另一种常用的降噪方法,其原理是将图像中的每个像素点与其邻域内的像素值取平均值作为该像素点的像素值。
均值滤波虽然可以去除盐粒噪声,但是会对图像的细节信息进行模糊处理,因此在实际应用中需要根据具体情况进行选择。
3. 自适应中值滤波
自适应中值滤波是一种根据像素点邻域内像素值的分布情况来
动态选择中值滤波窗口大小的降噪方法,可以有效地去除盐粒噪声,并能保留图像的细节信息。
4. 小波去噪
小波去噪是一种基于小波变换的降噪方法,其原理是将图像分解成不同频率的小波系数,然后根据小波系数的幅值和相位信息进行去噪处理。
小波去噪可以有效地去除盐粒噪声,并能保留图像的细节信
息。
综上所述,针对不同的图像处理需求,可以根据实际情况选择不同的降噪方法。
在实际应用中,还需要根据图像的特点和噪声类型进行调整和优化,以达到更好的降噪效果。
中值滤波通俗易懂的模型
中值滤波通俗易懂的模型什么是中值滤波?为什么要使用中值滤波?它的工作原理是什么?如何实施中值滤波?这些问题将在本文章中一一解答。
中值滤波是一种常用的图像处理技术,它可以有效地去除图像中的椒盐噪声和其他类型的噪声。
椒盐噪声是指图像中突然出现的黑白像素点,它们常常由于传感器故障、传输错误或者存储问题而引起。
使用中值滤波可以使图像变得更加清晰,并且不会引入额外的模糊效果。
中值滤波的工作原理非常简单直观。
它通过在图像的每个像素周围的邻域内计算像素值的中值来进行处理。
具体而言,对于给定像素的邻域,将所有像素值按照大小进行排序,然后选择中间值作为该像素的新值。
在这个过程中,噪声像素的值很可能会被过滤掉,因为它们往往与周围像素差异较大。
实施中值滤波有几个关键步骤。
首先,选择一个适当的滤波器尺寸。
滤波器尺寸决定了邻域的大小,通常使用的是3x3或者5x5的大小。
较小的滤波器尺寸会在处理图像时引入较少的模糊效果,但是可能无法很好地抑制大面积的噪声。
较大的滤波器尺寸可以更好地去除噪声,但是会引入较为明显的模糊效果。
接下来,将滤波器应用到图像的每个像素上。
对于每个像素,将其邻域内的像素值进行排序,并选择中值作为新值。
在排序过程中,可以使用各种排序算法,例如冒泡排序或者快速排序等。
选择一个高效的排序算法可以加快中值滤波的处理速度。
最后,重复应用中值滤波直至整个图像被处理完毕。
重复应用的次数可以根据噪声的强度和图像的复杂程度进行调整。
通常情况下,一个或者两个迭代的中值滤波就可以得到令人满意的结果。
中值滤波有一些优点和缺点。
首先,它非常简单易懂,实施起来也比较方便。
其次,它可以有效地去除椒盐噪声和其他类型的噪声,而且不会引入额外的模糊效果。
然而,中值滤波也有一些限制。
对于一些纹理复杂或者细节丰富的图像,中值滤波可能无法有效地去除噪声;此外,对于边缘细节的保护也不是很好,可能会引入一定程度的模糊效果。
综上所述,中值滤波是一种通俗易懂的图像处理模型。
用中值滤波滤除图像中的椒盐噪声
数字图像处理作业系别:班级:姓名:学号:论文:影响系统图像清晰程度的因素很多,例如室外光照度不够均匀就会造成图像灰度过于集中;由CCD(摄像头)获得的图像经过A/D(数/模转换,该功能在图像系统中由数字采集卡来实现)转换、线路传送都会产生噪声污染等等。
因此图像质量不可避免的降低了,轻者表现为图像不干净,难于看清细节;重者表现为图像模糊不清,连概貌也看不出来。
因此,在对图像进行分析之前,必须要对图像质量进行改善,一般情况下改善的方法有两类:图像增强和图像复原。
图像增强( image enhancement ),定义是将原来不清晰的图像变得清晰或强调某些关注的特征,抑制非关注的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果的图像处理方法。
增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。
图像增强可分成两大类:频率域法和空间域法。
前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。
采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。
具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。
图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。
在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。
图像增强技术根据增强处理过程所在的空间不同,可分为基于空域的算法和基于频域的算法两大类。
中值滤波器设计及椒盐噪声滤除
题目四:中值滤波器设计及椒盐噪声滤除一、实验背景在数字图像的生成与采集过程中,由于受工作环境,器件等性能的影响,使得一幅未经处理的原始图像,都存在着一定的噪声干扰。
这种噪声具有以下性质:1、图像上的噪声出现处呈现不规则分布;2、噪声的大小也是不规则的。
这些噪声恶化了图像质量,使图像模糊甚至淹没目标特征,给后续的处理分析带来了困难。
因此需要对图像应该进行滤除噪声处理。
二、 实验目的1. 通过利用c 程序实现数字信号处理的相关功能,巩固对信号处理原理知识的理解,培养快速解决实际问题的能力提高实际编程和处理数据的综合能力,初步培养在解决信号处理实际应用问题中所应具备的基本素质和要求。
2. 培养独立思考的能力与研发能力,通过设计实现不同的信号处理问题,初步掌握在给定条件和功能的情况下,实现合理设计算法结构的能力。
3. 提高资料查询和整理的能力。
能够在短时间内找到适合自己的方法。
并在文献整理的过程中学会科技文献的写作,提高语言表达能力。
三、 实验内容1. 理解什么是椒盐噪声,中值滤波的原理及其特性。
2. 设计一种中值滤波,对椒噪声滤波有效,并分析滤波器的适用范围。
3、(扩展训练)对设计的滤波器针对椒、盐噪声滤除分别进行测试,并进行性能比较分析,并讨论椒、盐噪声频度(噪声数目占图像实际像素的百分比)对滤波器实际效果的影响。
四、实验原理1.椒盐噪声椒盐噪声又称脉冲噪声,是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
椒盐噪声往往由图像切割引起。
椒盐噪声的PDF 是:如果b>a ,灰度值b 在图像中将显示为一个亮点,a 的值将显示为一个暗点。
若或 为零,则脉冲噪声称为单级脉冲。
如果 和 均不为零,尤其是他们近似相等时,脉冲噪声值将类似于随机分布在图像上的胡椒和盐粉微粒。
()⎪⎩⎪⎨⎧===其他0b z P a z P z p b a a P b P a P b P形象的说,椒噪声在图像上是类似于黑胡椒颗粒的小点,而盐噪声在图像上是类似于白色盐粒的小点。
中值滤波特点
中值滤波特点
中值滤波是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值。
相对于均值滤波,中值滤波具有更好的抗噪性能,能够有效地消除椒盐噪声和斑点噪声等非高斯噪声。
中值滤波能够保留图像的边缘和细节信息,不会对图像的边缘和纹理等特征造成影响。
中值滤波是一种常用的图像处理方法,其特点如下:
1.抗噪性:中值滤波对椒盐噪声和斑点噪声有很好的滤除效果,可以有效减少噪声对图像的影
响。
2.边缘保护:中值滤波能够较好地保护图像的边缘信息,不会像均值滤波一样将图像的边缘模
糊化。
3.运算量较小:相对于其他滤波方法,中值滤波的运算量较小,适合用于实时处理和嵌入式系统
等资源受限的环境。
4.对称性:中值滤波的结果具有对称性,即滤波前后的图像像素值不会发生变化。
5.容易理解:中值滤波的方法相对简单,易于理解和实现。
需要注意的是,中值滤波对于某些类型的噪声可能没有很好的滤除效果,因此在实际应用中需要根据具体情况选择合适的滤波方法。
数据去噪算法
数据去噪算法
1、中值滤波器(Median Filter):这是一种非线性数字滤波技术,通过用邻域中值替换每个像素值来去噪。
它对于去除椒盐噪声(Salt-and-Pepper Noise)特别有效。
2、Wiener滤波器:Wiener滤波器是一种统计最优估计方法,它基于对信号和噪声的统计特性的了解。
在去噪问题中,Wiener滤波器试图找到能够最大限度地减少误差的滤波器。
3、Kalman滤波器:这是一种线性动态系统状态估计方法,它也适用于去噪。
Kalman滤波器特别适合于处理带有随机噪声的数据。
4、小波去噪(Wavelet Denoising):小波分析可以提供信号的时间和频率信息,这使得它成为一种有效的去噪技术。
小波去噪通过将信号分解为小波系数,然后去除噪声的小波系数,最后重构信号。
5、非局部均值去噪(Non-Local Means Denoising):这种算法基于图像块的相似性。
它将每个像素替换为其最相似的邻居的平均值,这样可以有效地去除噪声。
中值滤波在数字图像去噪中的应用
中值滤波在数字图像去噪中的应用
中值滤波是一种常用的数字图像去噪方法,其主要原理是将像素点周围的邻域像素值
按照大小进行排序,然后取中间值作为该像素点的新值,从而达到去除孤立噪声点的效果。
中值滤波在数字图像去噪中具有广泛的应用。
中值滤波可以有效地去除图像中的椒盐噪声。
椒盐噪声是一种常见的图像噪声,其表
现形式为图像中出现黑白孤立噪声点。
这些噪声点严重影响了图像的视觉效果,使用中值
滤波可以将这些噪声点去除,使图像恢复清晰。
中值滤波还可以去除高斯噪声。
高斯噪声是一种呈正态分布的噪声,其平均值为0,
方差越大表明噪声越严重。
中值滤波通过对邻域像素进行排序,可以有效地将高斯噪声滤除,使图像恢复真实细腻的效果。
中值滤波还可以应用于运动模糊去除。
运动模糊是由于图像在拍摄过程中相机或被观
察对象的移动而产生的模糊效果。
中值滤波通过对邻域像素进行排序,可以恢复图像的清
晰度,去除运动模糊的影响。
中值滤波在医学图像处理中也有广泛的应用。
医学图像中常常存在各种各样的噪声,
这些噪声干扰了诊断结果的准确性。
中值滤波可以去除这些噪声,使医学图像更清晰,从
而提高医生的诊断效果。
中值滤波在数字图像去噪中的应用非常广泛。
它可以有效地去除图像中的椒盐噪声、
高斯噪声和运动模糊等各种噪声,从而改善图像的质量,提高图像的可视化效果。
中值滤
波的原理简单,计算速度快,非常适合实时图像处理和实时监控系统中的应用。
中值滤波
在数字图像处理领域具有重要的应用价值。
图像椒盐噪声的分阶段中值滤波算法
摘
要: 针 对 自适 应 中值 滤波 算 法的缺 陷—— 对 高密度椒 盐噪 声 图像 滤波后 留下 黑
色斑块 , 提 出 了一种 分 阶段 中值 滤 波算 法. 该 算 法对 图像 执 行 两 次 小 窗 口的 滤 波操
作, 相较于采用较大窗 口的滤波, 其在有效去除噪声的同时降低 了结果 图像的模糊程
度. 先 对所有 噪 声点进行 一 次 中值 滤波 消除 了盐粒噪 声 , 再 用 窗 口内非噪 声点 的灰 度
中值代 替胡椒 噪 声点 的灰度值 以去 除 黑 色斑块 . 最后 的仿 真 实验 结 果表 明 , 本 文 算法
既有像 自适应 中值 算法 一样 滤除低 密度椒 盐噪 声 的 良好性 能 , 又有 对 高 密度椒 盐噪
t i me , i t e l i m i n a t e d t h e s a l t n o i s e b y u s i n g m e d i a n i f l t e r ( MF)t o n o i s e p i x e l s , a n d t h e n
Abs t r a c t : A g r a d i n g me d i a n il f t e in r g a l g o it r h m wa s p r o p o s e d t o o f f s e t t h e de f e c t o f a d a p t i v e
声 图像 的 降噪 能 力.
关键词 : 椒 盐噪 声 ; 中值 ; 分 阶段 去 噪
中图分 类号 : T P 3 9 1 . 4 1 文献标 识码 : B
Gr a d i n g Me ia d n Al g o r i t hm f o r Fi l t e r i n g S a l t a nd Pe pp e r No i s e s i n I ma g e
matlab11种数字信号滤波去噪算法
matlab11种数字信号滤波去噪算法Matlab是一种强大的数学软件,广泛应用于信号处理领域。
在数字信号处理中,滤波去噪是一个重要的任务,可以提高信号的质量和准确性。
本文将介绍Matlab中的11种数字信号滤波去噪算法。
1. 均值滤波:该算法通过计算信号中一定窗口内的像素平均值来去除噪声。
它适用于高斯噪声和椒盐噪声的去除。
2. 中值滤波:该算法通过计算信号中一定窗口内的像素中值来去除噪声。
它适用于椒盐噪声的去除。
3. 高斯滤波:该算法通过对信号进行高斯模糊来去除噪声。
它适用于高斯噪声的去除。
4. 维纳滤波:该算法通过最小均方误差准则来估计信号的真实值,并去除噪声。
它适用于高斯噪声的去除。
5. 自适应滤波:该算法通过根据信号的局部特性来调整滤波器的参数,从而去除噪声。
它适用于非线性噪声的去除。
6. 小波去噪:该算法通过将信号分解为不同频率的小波系数,并对系数进行阈值处理来去除噪声。
它适用于各种类型的噪声的去除。
7. Kalman滤波:该算法通过对信号进行状态估计和观测更新来去除噪声。
它适用于线性系统的去噪。
8. 粒子滤波:该算法通过使用一组粒子来估计信号的状态,并通过重采样来去除噪声。
它适用于非线性系统的去噪。
9. 线性预测滤波:该算法通过使用线性预测模型来估计信号的未来值,并去除噪声。
它适用于平稳信号的去噪。
10. 自适应线性组合滤波:该算法通过对信号进行线性组合来估计信号的真实值,并去除噪声。
它适用于各种类型的噪声的去除。
11. 稀疏表示滤波:该算法通过使用稀疏表示模型来估计信号的真实值,并去除噪声。
它适用于各种类型的噪声的去除。
以上是Matlab中的11种数字信号滤波去噪算法。
每种算法都有其适用的场景和优缺点,根据具体的信号和噪声类型选择合适的算法进行去噪处理。
Matlab提供了丰富的函数和工具箱,可以方便地实现这些算法,并对信号进行滤波去噪。
通过合理选择和组合这些算法,可以有效提高信号的质量和准确性,为后续的信号处理任务提供更好的基础。
用改进的自适应中值滤波去椒盐噪声
21 0 2年 8月
湖北警官学院学报
J ur a f Hu i o n l be v ri f Poie o Unie st o lc y
Au 2 2 g. 01 N o 8 e . . 31 . S rNo 1
第 8 总第 1 1 期 3 期
用改进 的 自适应 中值滤波去椒 盐噪声
节信 息, 会使 图像变模糊 , 甚至失真 。 基于 阈值法和分治法
改进 的 快速 自适 应 中值 滤 波 法 , 效 地 抑 制 了椒 盐 噪声 , 有 保
护 了图像边缘细节, 提高了滤波速度 , 减少了运行 时间 。
二、 自适 应 中值 滤 波 的 原 理 中值 滤 波 效 果 依 赖于 滤 波 窗 口 的大 小 , 大 会 模 糊边 太
Z 作 为 输 出 值 。
Lvl e e B: B1 Z 一 Z = — B2 =Z 一 Z
并且 A< , 0 转到 5, 否则, 增加滤窗 S 的尺寸。 ( 如果 s ≤s 时, 4 ) 扩大窗 口尺 寸, 并转到 2 重复 以 , 上步骤, 否则 , 当前窗 口均值 men 替换 当前点 。 用 aS
【 图分 类号 1 3 中 D6 1 【 文献 标 识码 】 A 【 章编 号 163 3 l 0 2O 一O 5 一O 文 17 —2 9( 1)8 16 2 2
一
、
引言
作为输 出值 。 上述滤波算法表 明: 该算法在噪声密度较小时, 滤波和
细节 保 持 效 果均 较好 ; 噪声 密度 大 于 5%时增 大 、 整 窗 若 0 调
如 果 B> 0并 且 B < , Z 为 输 出值 ,否 则把 Z 0 把 x 作
【 收稿 日期 】 O 2 5 8 2 l—0 —2
十一种通用软件滤波算法
十一种通用软件滤波算法滤波算法是一种常用的信号处理算法,用于去除信号中的噪声、干扰或者其他不需要的成分,以提高信号质量。
通用软件滤波算法主要用于数字信号处理,以下是十一种常见的通用软件滤波算法:1. 均值滤波算法(Mean Filtering):将输入信号的每个采样值替换为其周围邻域内所有样本的平均值。
它适用于消除高频噪声。
2. 中值滤波算法(Median Filtering):将输入信号的每个采样值替换为其周围邻域内所有样本的中值。
它适用于去除椒盐噪声。
3. 加权平均滤波算法(Weighted Mean Filtering):在均值滤波算法基础上,引入权值对周围样本进行加权平均,以便更好地保留原始信号的特征。
4. 自适应均值滤波算法(Adaptive Mean Filtering):根据信号的每个采样与周围样本的灰度差异,调整均值滤波算法的滤波参数,以提高滤波效果。
5. 高斯滤波算法(Gaussian Filtering):通过计算输入信号的每个采样与其周围邻域内各个样本之间的高斯核函数权重的加权平均来滤波信号。
6. 卡尔曼滤波算法(Kalman Filtering):根据系统状态特性和测量信息,结合时间和测量的线性状态方程,通过最小化预测误差方差来估计和滤波信号。
7. 二阶无限脉冲响应滤波器算法(IIR Filtering):基于差分方程和递归方式运算的滤波算法,具有较好的频率响应,但容易产生数值不稳定和计算复杂度高的问题。
8. 有限脉冲响应滤波器算法(FIR Filtering):基于加权线性组合的方式来滤波信号,具有稳定性好、易于实现的特点。
9. 最小均方滤波算法(Least Mean Square Filtering):通过最小化滤波器的均方误差来更新滤波器权值,以逼近滤波器的最优解。
10. 快速傅里叶变换滤波算法(FFT Filtering):利用快速傅里叶变换将信号从时域转换为频域,并利用频域上的特性进行滤波。
椒盐噪声,中值滤波
%%%%%%%%%%%%%% 添加椒盐噪声,使用中值滤波器%%%%%%%%%%%%%% 以相同概率取得图像的最大值和最小值[filename pathname]=uigetfile;img=imread(strcat(pathname,filename));%保留一份数据imgSave=img;[m,n,k]=size(img);figure(1);subplot(221);imshow(img);%find the maxium and minium of the bmpmaxium=10;minium=200;for i=1:mfor j=1:nif(img(i,j,1)>maxium)maxium=img(i,j,1);end;if(img(i,j,1)<minium)minium=img(i,j,1);end;end;end;%加入椒盐噪声的比率ratio=0.01;noisenum=ratio*(m*n);for num=1:noisenumt=mod(round(abs(rand())*3),3)+1;i=max(mod(round(abs(rand())*m+1),m),1);j=max(mod(round(abs(rand())*n+1),n),1);img(i,j,t)=maxium;i=max(mod(round(abs(rand())*m+1),m),1);j=max(mod(round(abs(rand())*n+1),n),1);img(i,j,t)=minium;end;%img=imnoise(img,'salt & pepper');subplot(222);imshow(img);title('salt&pepper noise');%后面要进行多个模板滤波,保留一份数据noiseimgSave=img;%开始中值滤波3*3的模板mid=zeros(9,1);for t=1:kfor x=2:m-1for y=2:n-1temp=img(x-1:x+1,y-1:y+1,t);for i=1:3for j=1:3mid((i-1)*3+j)=temp(i,j);end;end;mid=sort(mid);midvalue=mid(5);img(x,y,t)=midvalue;end;end;end;subplot(223);imshow(img);title('3*3 midvalue filter');%7*7模板img=noiseimgSave;mid=zeros(49,1);temp=zeros(7,7);for t=1:kfor x=4:m-4for y=4:n-4temp=img(x-3:x+3,y-3:y+3,t);for i=1:7for j=1:7mid((i-1)*7+j)=temp(i,j);end;end;mid=sort(mid);midvalue=mid(25);img(x,y,t)=midvalue;end;end;end;subplot(224);imshow(img);title('7*7');。
opencv 中值滤波去除椒盐噪声代码
文章标题:深度探讨:opencv 中值滤波去除椒盐噪声的代码实现在计算机视觉和图像处理领域,椒盐噪声是一种常见的问题,它会使图像出现黑白颗粒点,降低了图像质量,同时也影响了后续的图像处理和分析。
为了解决这一问题,opencv 中值滤波成为了一种常用的去噪方法之一。
本文将就opencv 中值滤波去除椒盐噪声的代码实现进行深度探讨,从概念到实现进行全面评估,以助您更深入地理解这一关键技术。
1. 椒盐噪声的影响在介绍opencv 中值滤波的代码实现之前,首先要了解椒盐噪声对图像的影响。
椒盐噪声是一种随机出现在图像中的噪声,表现为图像中出现黑色或白色的噪点。
这些噪点会对图像的细节和清晰度造成破坏,严重影响图像的质量和后续处理。
去除椒盐噪声成为了图像预处理中的重要步骤。
2. opencv 中值滤波的原理了解了椒盐噪声的影响,接下来我们来深入了解opencv 中值滤波的原理。
中值滤波是一种非线性滤波方法,它的原理是将像素点邻域内的像素灰度值进行排序,然后取中值作为该像素点的灰度值,从而达到去除噪声的目的。
与其他线性滤波方法相比,中值滤波在去除椒盐噪声方面具有更好的效果,能够有效保留图像的细节和边缘信息。
3. opencv 中值滤波的代码实现有了对中值滤波原理的深入理解,接下来就是实际的代码实现。
在opencv中,可以使用`medianBlur`函数来实现中值滤波。
该函数的原型为:```cppvoid cv::medianBlur(InputArray src,OutputArray dst,int ksize)```- `src`参数为输入图像,可以是单通道或多通道的图像。
- `dst`参数为输出图像,与输入图像有相同的尺寸和通道数。
- `ksize`参数为滤波模板的尺寸,必须为大于1的奇数。
通常取3、5、7等。
下面是一个简单的示例代码:```cpp#include <opencv2/opencv.hpp>int main(){cv::Mat img = cv::imread("input.jpg");cv::Mat dst;cv::medianBlur(img, dst, 5);cv::imshow("Original Image", img);cv::imshow("Filtered Image", dst);cv::waitKey(0);return 0;}```通过上述示例代码,我们可以轻松地实现对图像的中值滤波去除椒盐噪声。
应用中值滤波法消除高密度椒盐噪声算法
P ㈨) :f 0 , ( , ) = 0 。 r 2 5 5 ( 1 )
一一 【 1 , 尺( i , )取其 他值
.
一
键 的一环 , 因为接 下 来 的许 多 工 作 ( 如边缘检测 、 图像 分割 、 特征识别等 ) 都 在 很 大 程 度 上 依 赖 于 噪声 去除 的好 坏 l 2 J 。近 年 来 , 脉 冲 噪声 的检 测 和
应 用 中值 滤 波 法 消 除 高密 度 椒 盐 噪声 算 法
郑 江云 , 陈春 霞
( 安庆师范学院 物理 与电气工程学 院, 安徽 安庆 2 4 6 1 3 3 )
摘
要 :中值滤波被广泛应用于消除图像的椒盐噪声 , 对于 图像 中的每一个 噪声像素 , 用 3×3窗 口内非 噪声像素
平均值代替该噪声像素 , 然后将其更新为非噪声像素 , 使它能够立 即参与后 面相邻 噪声像素 的均值计算 , 这样不需 要迭 代过程 和改变窗 口尺寸 , 改进的 中值滤波就能滤除高密度椒盐 噪声。实验结 果表 明: 本 文 的算 法能有效地 消除噪 声, 较 好地保持原始图像的细节 ; 计算时间少 , 具有较大的实用 价值。 关键词 :脉 冲噪声 ; 中值滤波 ; 噪声像素 ; 非噪声像素 ; 细节保持 ; 迭代过程 中图分类号 :T N 9 1 1 . 7 3 文献标识码 :A 文章编号 :1 0 0 7—4 2 6 0 ( 2 0 1 3 ) 0 4— 0 0 5 5—0 4 [ 9 ] 中 ,K e n n y给 出 了一 种 利 用 噪 声 图
= 1的像 素 R( p, q ) , 用这 些非 噪声 像 素 的中值 替
} 收 稿 日期 :2 0 1 3— 4 — 0 0 2 基金项 目:安徽 省 自然科学基金 ( 0 9 0 4 1 2 0 6 5 ) 和安徽高等学校省级 自然科学 基金( K J 2 0 0 9 B 1 2 3) 资助。 作 者 简 介 :郑 江 云 , 女, 安徽怀宁人 , 硕士 , 安庆师范学院物理与电气工程学院副教授 , 主 要 研 究 图 像 质量 评 价 和 图像 处 理 。
中值滤波与椒盐噪声
中值滤波与椒盐噪声
椒盐噪声:也称为脉冲噪声:
在图像中,它是⼀种随机出现的⽩点或者⿊点,可能是亮的区域有⿊⾊像素或是在暗的区域有⽩⾊像素(或是两者皆有)。
在⼀维信号中,可以理解为⼀些离群的点或者尖脉冲。
举两个栗⼦:分别为带有椒盐噪声⼆维信号和⼀维信号
滤除椒盐噪声⽐较有效的⽅法是对信号进⾏中值滤波处理。
顾名思义,中值滤波是指将⼀个像素的值⽤该像素邻域中强度值的中间值来取代,⾄于领域范围取多⼤则视实际需要⽽定。
去除椒盐噪声的后可以得到较为平滑的信号,其效果要优于均值滤波器,当然同样也会造成边缘模糊、信号不够锐利,这似乎也是很多滤波⽅法的⼀⼤通病。
下⾯给出⼆维信号以及⼀维信号在中值滤波前后的⼀个对⽐效果:
matlab中,调⽤ y = medfilt1(x,n)即可进⾏⼀维信号的中值滤波操作(x表⽰输⼊信号,n值窗宽度)调⽤B = medfilt2(A, [m n])可完成⼆维信号的中值滤波操作(A为输⼊矩阵,采⽤m*n⼤⼩的窗⼝)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Salt-and-pepper noise1.产生椒盐噪声在图像中随机选取6000个点,3000设为白色,3000个设为黑色,产生椒盐噪声%----------------------------------------------------------------------------------------------------------------------------% %----------------------------------------------------------------------------------------------------------------------------% #include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include<cv.h>void salt(cv::Mat &image,int n){for(int k=0;k<n;k++){int i=rand()%image.cols;int j=rand()%image.rows;if(image.channels()==1){image.at<uchar>(j,i)=255;}else if (image.channels() == 3) {image.at<cv::Vec3b>(j,i)[0]= 255;image.at<cv::Vec3b>(j,i)[1]= 255;image.at<cv::Vec3b>(j,i)[2]= 255;}}//产生3000个白点for(int k=0;k<n;k++){int i=rand()%image.cols;int j=rand()%image.rows;if(image.channels()==1){image.at<uchar>(j,i)=0;}else if (image.channels() == 3) {image.at<cv::Vec3b>(j,i)[0]= 0;image.at<cv::Vec3b>(j,i)[1]= 0;image.at<cv::Vec3b>(j,i)[2]= 0;}}}//产生3000个黑点int main(){cv::Mat image;image = cv::imread("lena.jpg");salt(image,3000);cv::namedWindow("WK");cv::imshow("WK",image);cv::waitKey(0);return 1;}%----------------------------------------------------------------------------------------------------------------------------% %----------------------------------------------------------------------------------------------------------------------------%2.中值滤波利用opencv中的cvSmooth对图像进行中值滤波。
%----------------------------------------------------------------------------------------------------------------------------% %----------------------------------------------------------------------------------------------------------------------------% #include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include<cv.h>int main(){IplImage * image = cvLoadImage("wks.jpg");//cvNamedWindow("before");//cvShowImage("before",image);IplImage * im_gray = cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U, 1); cvCvtColor(image, im_gray, CV_BGR2GRAY);cvNamedWindow("Gray");cvShowImage("Gray",im_gray);cvSaveImage("im_gray.jpg",im_gray);IplImage * im_median_filter = cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U, 1);cvSmooth(im_gray, im_median_filter, CV_MEDIAN);//默认窗口大小为*3cvNamedWindow("after");cvShowImage("after",im_median_filter);//cvSaveImage("im_median.jpg",im_median_filter);cv::waitKey(0);return 1;}%----------------------------------------------------------------------------------------------------------------------------% %----------------------------------------------------------------------------------------------------------------------------%处理前的灰度图像:处理后的灰度图像:原始灰度图像:3.结论:可以看出中值滤波能够较好的恢复有椒盐噪声的图像4.Matlab中值滤波:clear;clc;image = imread('gray.jpg');result= media_filter(image,7);imshow(result);imwrite(result,'media_filter.jpg');%%functionfunction d = media_filter(image,m)n=m;[height,width]=size(image);x1 = double(image);x2 = x1;for i=1:height-n+1for j=1:width-n+1A = x1(i:(i+n-1),j:(j+n-1));B = sort(A);C = sort(B);x2(i+(n-1)/2,j+(n-1)/2) = C((n+1)/2,(n+1)/2);endendd = uint8(x2);5.MATLAB中值滤波结果及结论:中值滤波是图像处理中的一个常用步骤,它对于斑点噪声和椒盐噪声来说尤其有用。
中值滤波方法以牺牲图像清晰度为代价消除图像中的椒盐噪声。
同时,中值滤波不能多次使用,因为这样会使图像各个像素间趋于相同,整个图像就会变得越来越模糊。
7x7 11x11 2次11x11GaussNoise1.利用MATLAB向原始灰度图像中添加高斯噪声%%clear;clc;image = imread('origin.jpg');noise = imnoise(image,'gaussian');% 添加均值为0,方差为0.01的高斯白噪声imshow(noise);title('gaussian noise')%%2.利用均值滤波clear;clc;image = imread('gaussnoise.jpg');result = avg_filter(image,11);imshow(result);imwrite(result,'use11x11.jpg')function d=avg_filter(x,n)%x为待处理的图像,n为模板大小a(1:n,1:n)=1;[height,width]=size(x);x1=double(x);x2=x1;for i=1:height-n+1for j=1:width-n+1c = x1(i:(i+n-1),j:(j+n-1)).*a;%取出x1中从(i,j)开始的n行n列元素与模板相乘s=sum(sum(c));x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n);%将与模板运算后的各元素的均值赋给模板中心位置的元素endend%未被赋值的元素取原值d = uint8(x2);3.结论:可见均值滤波在一定程度上能够减弱高斯噪声对图像的影响,但是并不能够完全消除而且随着模板矩阵阶数增大虽然滤波效果更好,但是图像会变模糊。