一种基于局部统计信息和几何距离的脉冲噪声滤波方法、系统与流程

文档序号:24073027发布日期:2021-02-26 16:08阅读:129来源:国知局
一种基于局部统计信息和几何距离的脉冲噪声滤波方法、系统与流程

[0001]
本发明涉及图像去噪技术领域,尤其涉及一种基于局部统计信息和几何距离的脉冲噪声滤波方法、系统。


背景技术:

[0002]
目前在图像的采集和传输过程中,由于传感器设备的原因,数字图像经常被脉冲噪声破坏。随机值脉冲噪声(rvin)是其中一种脉冲噪声,其噪声像素值随机位于0到255之间,因此很难处理。为了后面对图像进行轮廓提取、区域分割和目标识别等操作,有必要对噪声图像进行恢复,目前主流的去噪算法主要可分为基于块匹配的方法、基于卷积神经网络的方法和基于模糊规则的方法,从近几年流行的去噪算法来看,由于引入了模糊规则和卷积神经网络,虽然取得了很好的滤波效果,但也导致了算法的复杂度增加,运行时间变长,设备成本高。
[0003]
因此,需要一种基于局部统计信息和几何距离的脉冲噪声滤波方法。


技术实现要素:

[0004]
鉴以此,本发明的目的在于提供一种基于局部统计信息和几何距离的脉冲噪声滤波方法、系统,可以对图像进行高效去噪处理,以解决现有技术中图像去噪算法复杂度高,运行时间长的问题。
[0005]
一种基于局部统计信息和几何距离的脉冲噪声滤波方法,所述方法具体包括以下步骤:
[0006]
s1:对待测图像的所有噪声像素进行滤波处理,获得滤波后的图像;
[0007]
s2:判断滤波后的图像是否符合判断规则,若不符合则重新获取滤波后的图像。
[0008]
进一步的,对待测图像的所有噪声像素进行滤波处理,包括:
[0009]
对待测图像的一个噪声像素x进行滤波处理;
[0010]
对待测图像的其他噪声像素依次迭代进行滤波处理,获得滤波后的图像。进一步的,对待测图像的一个噪声像素x进行滤波处理,包括:
[0011]
计算噪声像素x建立的邻域和邻域的其他像素y的欧式距离
[0012][0013]
计算噪声像素x建立的邻域和邻域的其他像素y的灰度差
[0014][0015]
根据灰度差与欧式距离对噪声像素x进行滤波计算
[0016][0017]
其中(s,t)和(m,n)表示像素x和y在局部区域中的位置,d(x,y)和l(x,y)分别表示x和y之间的欧式距离和灰度差,σ
d
表示欧氏距离的调节参数,表示像素x领域内的任一像素y的ls值,i
xf
表示滤波后像素x的新的灰度值,i
y
是中的像素y的强度值。
[0018]
进一步的,所述判断规则包括:
[0019]
计算滤波后图像的第一psnr值,计算待测图像的第二psnr值,当第一psnr值小于第二psnr值时,滤波后的图像符合要求;
[0020]
当第一psnr值大于第二psnr值时,重新获取滤波后图像的噪声像素。
[0021]
进一步的,第一psnr值、第二psnr值通过matlab程序获得。
[0022]
进一步的,系统包括滤波模块、判断模块,所述滤波模块用于对待测图像进行滤波处理,所述判断模块用于对滤波处理的结果进行判断。
[0023]
与现有技术相比,本发明的有益效果是:
[0024]
本发明提供的一种基于局部统计信息和几何距离的脉冲噪声滤波方法、系统,通过恢复图像的噪声像素,在恢复的噪声像素的图像上寻找到每个像素的ls值,然后检测噪声像素并进行滤波;通过滤波可以把噪声像素和干净像素筛选出来,使得本发明提供的图像噪声检测方法准确度和灵敏度较高,解决了现有技术中检测脉冲噪声的方法准确度和灵敏度较低的问题。
附图说明
[0025]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的优选实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]
图1是本发明实施例提供的一种基于局部统计信息和几何距离的脉冲噪声滤波方法的整体结构流程图。
具体实施方式
[0027]
以下结合附图对本发明的原理和特征进行描述,所列举实施例只用于解释本发明,并非用于限定本发明的范围。
[0028]
实施例一
[0029]
参照图1,本发明提供一种基于局部统计信息和几何距离的脉冲噪声滤波方法,所述方法具体包括以下步骤:
[0030]
s1:对待测图像的所有噪声像素进行滤波处理,获得滤波后的图像;
[0031]
s2:判断滤波后的图像是否符合判断规则,若不符合则重新获取滤波后的图像。
[0032]
所述待测图像的噪声像素的获得过程如下:
[0033]
计算待测图像中每个像素的局部统计信息值,包括:
[0034]
以待测图像中的任意给定像素x为中心构建邻域计算像素x与邻域中的任一像素y的欧氏距离和灰度差:
[0035][0036][0037]
基于欧氏距离和灰度差,计算像素x与邻域中的任一其他像素y的相似度:s(x,y)=d(x,y)*i(x,y)
[0038]
计算像素x与邻域中所有像素的相似度之和:
[0039][0040]
对ζx进行归一化使其约束在[0.1]区间:
[0041][0042]
这里的表示对的均一化操作。
[0043]
通过观察,可以发现噪声图像中每个像素的ζx基本上散布在[0,2.5]中。为了更方便,更快速地处理数据,可以使用以下公式将任何像素的将标准化为[0.1]间隔:
[0044][0045]
在式中,d(x,y)为像素x与像素y之间的欧式距离,i(x,y)为像素x与像素y之间的灰度差,当两个像素之间的距离和灰度级差变大时,它们都减小,这也意味着如果两个像素之间的灰度差大或距离远,则它们的相似度很小,甚至欧几里德距离也可被省略;(s,t)表示像素x在邻域中的位置,(m,n)表示像素y在邻域中的位置,σ
d
为欧氏距离的调节参数,σ
i
为灰度差的调节参数,可以分别通过调整这两个参数的值来更改它们对d(x,y)和i(x,y)的影响ζx为相似度之和,ls
x
为像素x的局部统计信息值,可以表示像素是否为噪声的概率。如果ls
x
值越小,表明像素x与其邻域内的像素的相似度越小,也就意味着像素x是噪
声的概率更大。
[0046]
在本实施例的一个优选实施方式中,所构建的邻域为5
×
5的邻域。
[0047]
判断待测图像中每个像素处于平坦区域还是复杂区域,包括:
[0048]
计算所述邻域内的所有像素的强度的估计均值u
x

[0049][0050][0051]
基于所述估计均值,计算邻域中所有像素的强度的标准偏差
[0052][0053][0054]
根据所述标准偏差,判断给定像素x是否为处于平坦区域还是复杂区域:
[0055][0056]
式中,w1和w2为ls
y
的权重,用来调整干净像素和噪声像素对计算局部方差影响的比重,a、b为归一化的参数,t
σ
为区分像素是处于复杂区域还是平坦区域的阈值,ls
y
为邻域内的所有像素的局部统计信息值的最大值,u
y
是具有局部统计信息值的最大值的像素y的灰度值。
[0057]
在本实施例的一个优选实施方式中,所述t
σ
的范围为[0.3,8]
[0058]
计算平坦区域的第一噪声检测阈值,计算复杂区域的第二噪声检测阈值,包括:
[0059]
在待测图像中选取若干个大小为m的平坦区域,判断平坦区域中的异常像素与非异常像素:
[0060][0061]
当i
x-i
y
>θ时,像素x为异常像素,当i
x-i
y
≤θ时,像素x为非异常像素,i
x
为像素x的强度,i
y
为像素y的强度,其强度为像素的灰度值,通过将待测图像导入相应的matlab程序中,可获得待测图像的像素灰度值;
[0062]
在本实施例的一个优选实施方式中,所述θ的范围为[5,8]。
[0063]
在本实施例的又一个优选实施方式中,所述θ的范围为[0,20]。
[0064]
估算每个区域的噪声水平:
[0065][0066]
通过对每个区域的噪声水平进行加权平均运算获得图像的整体噪声水平:
[0067][0068]
计算平坦区域的第一噪声检测阈值:
[0069]
θ
f
=-0.12σ3+0.07σ2+0.75σ+0.19
[0070]
计算复杂区域的第二噪声检测阈值:
[0071]
θ
c
=0.31σ3+0.63σ2+0.52σ+0.03
[0072]
其中,q
n
为异常像素个数,而q
c
为非异常像素个数,d为平坦区域的数量,θ是经验阈值。
[0073]
在某一像素处于平坦区域且该像素的局部统计信息值小于第一噪声检测阈值的情况下,将该像素判定为噪声像素,否则为干净像素;
[0074]
在某一像素处于复杂区域且该像素的局部统计信息值小于第二噪声检测阈值的情况下,将该像素判定为噪声像素,否则为干净像素,上述具体方式为:
[0075]
当像素x处于平坦区域时,比较像素x的ls
x
值与第一噪声检测阈值的大小:
[0076][0077]
当ls
x
≤θ
c
时,像素x为噪声像素,当ls
x
>θ
c
时,像素x为干净像素。
[0078]
当像素x处于复杂区域时,比较像素x的ls
x
值与第二噪声检测阈值的大小:
[0079][0080]
当ls
x
≤θ
f
时,像素x为噪声像素,当ls
x
>θ
f
时,像素x为干净像素。
[0081]
对待测图像的所有噪声像素进行滤波处理,包括:
[0082]
对待测图像的一个噪声像素x进行滤波处理;
[0083]
对待测图像的其他噪声像素依次迭代进行滤波处理,获得滤波后的图像。
[0084]
对待测图像的一个噪声像素x进行滤波处理,包括:
[0085]
计算噪声像素x建立的邻域和邻域的其他像素y的欧式距离
[0086][0087]
计算噪声像素x建立的邻域和邻域的其他像素y的灰度差
[0088][0089]
根据灰度差与欧式距离对噪声像素x进行滤波计算
[0090][0091]
其中(s,t)和(m,n)表示像素x和y在局部区域中的位置,d(x,y)和l(x,y)分别表示x和y之间的欧式距离和灰度差,σ
d
表示欧氏距离的调节参数,表示像素x领域内的任一像素y的ls值,i
xf
表示滤波后像素x的新的灰度值,i
y
是中的像素y的强度值。
[0092]
对噪声图像计算每个像素的ls值,然后用一个固定的阈值去判断哪些像素是噪声,哪些像素不是噪声(干净像素),对于干净像素选择忽略掉,其灰度值保持和原来的一样,对于任一噪声像素,以其为中心,构建一个5
×
5的滤波窗口,那么像素x的邻域里有24个像素y1~y24,对任意的y求其的ls值(也就是ls
y
),第一条公式是用来算x和任一个像素y之间的欧氏距离的高斯函数值d(x,y),第二条公式就是ls
y
的平方。第三条公式表示滤波后像素x的新的灰度值,从公式可以知道,x的新的灰度值是跟它邻域里的24个像素的灰度值是有关的,而这24个像素的灰度值对这个x的新的灰度值的影响的权重,跟这两个因素有关,第一是几何距离,第二是ls
y
。像素y跟x距离越近,那么它的灰度值对x的新灰度值的影响就越大;如果像素y的ls值越大,表示像素y越可能是干净像素,那么它对像素x的影响也就越大。
[0093]
所述判断规则包括:
[0094]
计算滤波后图像的第一psnr值,计算待测图像的第二psnr值,当第一psnr值小于第二psnr值时,滤波后的图像符合要求;
[0095]
当第一psnr值大于第二psnr值时,重新获取滤波后图像的噪声像素。
[0096]
对待测图像噪声像素进行滤波处理,计算第一psnr值,然后再次滤波,计算第二psnr值,通过迭代判断psnr值开始下降时,停止滤波。
[0097]
第一psnr值、第二psnr值通过matlab程序获得。
[0098]
系统包括滤波模块、判断模块,所述滤波模块用于对待测图像进行滤波处理,所述判断模块用于对滤波处理的结果进行判断。
[0099]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1