一种数字图像的斑点消除方法
技术领域
本发明涉及一种数字图像处理方法,尤其是涉及一种数字图像的斑点消除方法。
背景技术
随着数字技术的不断发展,数字图像得到了越来越广泛的应用,数字图像也可以从多种途径获得。获得数字图像后,一般要经过再处理才能符合设计要求或令人满意,因此对获得的数字图像进行处理是非常重要的环节。
获得的数字图像中,经常会出现一些斑点噪声,例如数码相机中出现的噪点。所述噪点,简单地说是在感光过程中产生的噪音信号,反映在图像中就是一些混入画面中的细小的各色斑点,如图1a以及图1b所示,图像中出现了类似椒盐噪音这样的污点,严重地影响了图像的清晰度。
以往的斑点噪声消除方法大致分为两种,一种是利用卷积的方法,另外一种是腐蚀膨胀的方法。利用卷积的方法消除斑点的原理是利用空间域的低通滤波器,可以让图像的污点变模糊、变淡,这种方法不仅会损失掉有效的高频成分,让图像变得模糊,而且处理速度比较慢。腐蚀膨胀方法通过判断选定区域是否比周边区域明亮的方法,找到斑点严重的矩形区域,然后对这个矩形区域采取腐蚀的方法,抽出骨架,过滤掉区域内存留的斑点,再通过膨胀的原理还原图像。利用这种先腐蚀后膨胀的方法消除图像中的斑点噪声时,由于是采用判断选定区域是否比周边区域更明亮的方法来定位的,就有可能会造成一些孤立区域或是孤立点漏掉,因为不仅仅是只有比周边区域更亮的区域是斑点,比周边区域更暗的区域同样也可能是斑点。另外在抽出骨架后,过滤区域内残留的污点时,不可避免地会把一些不是斑点的区域进行处理,因此会将一些正常的点处理掉,使图像中的正常点受很大影响。这样一来,如何提高对数字图像中的斑点噪声定位的精确性的同时,提高图像的处理速度,成为当今数字图像处理技术发展方向的重点。
发明内容
本发明所要解决的技术问题是提供一种数字图像的斑点消除方法,其主要目的在于提供一种精确的定位并填充图像中斑点噪声的方法,使图像更加清晰的同时,提高图像的处理速度。
为了实现上述目的,本发明提供一种数字图像的斑点消除方法,首先计算选定像素与其相邻像素之间的差值,然后将该差值大于第1基准值的相邻像素,标记为特殊点,计算该选定像素特殊点的个数,将该特殊点个数大于第2基准值的选定像素标记为斑点像素,最后填充该斑点像素。
上述数字图像的斑点消除方法,其特点在于,所述方法包括将图像转换为YcbCr空间的步骤。
上述数字图像的斑点消除方法,其特点在于,所述相邻像素为与所述选定像素相邻接的周围8个方向的像素点。
上述数字图像的斑点消除方法,其特点在于,所述第1基准值的值为7。
上述数字图像的斑点消除方法,其特点在于,所述第2基准值的值为7。
上述数字图像的斑点消除方法,其特点在于,所述选定像素为图像中的所有像素点。
上述数字图像的斑点消除方法,其特点在于,所述填充该斑点的步骤为用该斑点的上、下、左、右四个方向的相邻像素点平均值进行填充。
上述数字图像的斑点消除方法,其特点在于,所述填充该斑点的步骤,为用该斑点八个方向的所有相邻像素点平均值进行填充。
上述数字图像的斑点消除方法,其特点在于,所述方法应用于Windows操作系统。
上述数字图像的斑点消除方法,其特点在于,所述方法应用于嵌入式操作平台。
本发明的技术效果,在于通过填充斑点像素而达到去除污点的目的,用周围点的平均亮度值来填充斑点,不仅处理的速度有了很大的提高,而且能有效地消除图像上的斑点,尤其对类似椒盐噪音这样的斑点会非常有效,而且不会对正常点造成任何影响。真正做到了有的放矢,本发明仅仅是针对污点进行处理,增加了处理的精确度。
以下结合附图和具体实施例对本发明进一步详细说明:
附图说明
图1a、图1b为含有斑点噪声的数字图像示意图
图2为本发明所提及数字图像的斑点消除方法的流程图
图3为本发明所提及数字图像的斑点消除方法的像素结构示意图
具体实施方式
本发明方法既可应用于Windows操作系统,也可以应用于嵌入式操作平台。本发明的数字图像可以从多种途径获得,可以是利用数字图像库获得,例如存贮在CD-ROM光盘上和Internet网络上的数字图像库,也可以用绘图软件创建数字图像,目前图像编辑软件都具有一定的绘图功能,这些软件大多具有较强的功能和很好的图形用户接口,或是用数字化设备摄入数字图像,包括数字照相机和数字摄像机,以及用数字转换设备采集的图像,例如将模拟图像转换成数字图像数据等。这些方法都可以获得数字图像,获得的数字图像经常会因为历史久远或保存不善而存在污点,本发明是将原图中的污点及不必要的部分去除,从而增强图像的清晰度。
图2为本发明数字图像斑点消除方法的总体流程图,其说明如下:
首先,执行步骤100,计算选定像素与其相邻像素之间的差值,然后按照步骤200,将该差值大于第1基准值的相邻像素,标记为特殊点;执行步骤300,计算该选定像素的特殊点的个数;还执行步骤400,将该特殊点个数大于第2基准值的选定像素标记为斑点像素;最后,按照步骤500,填充斑点像素。
下面以消除彩色数字图像中的斑点为例,对本发明进行详细说明。
消除彩色数字图像首先要将图像由RGB格式转换为YcbCr格式。图像由RGB格式转换为YCbCr格式是一种最通用的转换,只需知道从一种格式映像到另一种格式的系数,通过下列计算公式就可完成数据转换:
Y=0.299R+0.587G+0.114B
Cb=-0.1687R-0.3313G+0.5B+128
Cr=0.5R-0.4187G-0.0813B+128
对图像中的斑点进行处理,首要的也是最关键的就是对斑点进行定位。对斑点进行定位就是在图像中标记出斑点象素。在YcbCr格式下,图像中每一个像素都对应一个唯一的Y值,Y值代表了像素的亮度。
图3为本发明数字图像斑点消除方法的像素示意图。如图所示,当前的选定像素为Y(i,j),其八个方向相邻像素分别为Y(i-1,j-1),Y(i-1,j),Y(i-1,j+1),Y(i,j+1),Y(i+1,j+1),Y(i+1,j),Y(i+1,j-1)Y(i,j-1),选定像素与其相邻像素的位置关系如下表所示:
Y(i-1,j-1) |
Y(i-1,j) |
Y(i-1,j+1) |
Y(i,j-1) |
Y(i,j) |
Y(i,j+1) |
Y(i+1,j-1) |
Y(i+1,j) |
Y(i+1,j+1) |
对斑点进行定位,需要将选定像素与其相邻像素进行比较,执行步骤100,即计算选定像素与其相邻像素之间的差值。具体做法是将选定像素的Y值,与其周围八个相邻像素依次进行减法运算,同时将预定一个计数器执行步骤300,计算特殊点的个数。计数器首先置位,之后执行步骤200,如果得到的差的绝对值大于第1基准值,则该相邻像素点为特殊点,计数器加1。本实施第一基准值为7。当八个相邻像素全部完成减法运算后,读取当前计数器的值,并执行步骤400,如果计数器值超过第2基准值,则该选定像素为斑点像素。本实施例第2基准值的值为7,也就是说如果当前选定像素Y(i,j)的八个相邻像素中,如果特殊点的个数大于7个,则当前的选定像素就是斑点象素。
然后将图像的下一个像素做为选定像素,重复上述步骤进行处理,直至完成图像中所有像素点的处理,最终可以将图像中的所有斑点象素都标记出来。
确定斑点象素后,接下来就是步骤500,对斑点象素进行填充,对斑点进行填充的方法很多,速度比较快的方法是,用斑点象素的上、下、左、右四个方向的相邻像素点的平均值进行填充,如果像素点Y(i,j)为斑点像素,则计算点Y(i-1,j),Y(i,j+1),Y(i+1,j)以及Y(i,j-1)的平均值,用该平均值将该斑点象素填充。同样也可以用周围八个像素点的平均值进行填充,以增加图像处理的精确度。
上述内容,仅为本发明的最佳实施例,并非限定本发明的保护范围,本领域普通技术人员根据本发明主要的发明构思均可进行相应修饰和变换,故本发明的专利保护范围以权利要求书所要求的保护范围为准。