边缘保留的图像噪声滤除方法
2009-07-15
作者:刘先锋1 沈胜宏1 郑明洁2
摘 要:常用的滤除图像噪声的算法由于需要在图像边缘纹理保留和噪声滤除之间进行折中,因此不可避免的会带来边缘模糊的问题。本文提出一种既可保留图像边缘纹理又滤除图像噪声的方法。
关键词:噪声 滤波 边缘检测
噪声图像的滤波问题一直是图像处理的基本任务之一。常用的滤波技术主要有Lee滤波器,Frost滤波器,Gamma GAP滤波器等。这些滤波算法都是基于对图像局部统计特性自适应的,因此滤除噪声的效果较好。但由于算法本身的原因,往往造成图像的边缘等细节信息模糊,降低了图像的质量[1]。针对这一问题,人们提出许多改进算法,如改进的Lee滤波器,变窗口滤波器等,这些算法虽然在一定程度上解决了边缘模糊的问题,但也带来新问题,比如改进的Lee滤波器,由于要进行边缘检测,所以选择的窗口就不能太大,但小窗口对消除斑噪声不利,又降低了效能。
针对以上情况,本文提出了一种新的滤波方法:把滤波过程分为两个步骤,先检测出图像的边缘,把图像的边缘从原图像中分离,得到无边缘纹理的图像;然后对其进行滤波,再将边缘纹理加入到滤波后的图像,这样就得到了一个即保留边缘纹理,又有好的滤波效果的图像。
1 噪声图像边缘检测
最常用的边缘检测算法一般是Sobel算子、Kirsh算子、Laplacian算子以及Marr算子等,这些算法都是基于梯度检测的。梯度检测器就是确定一个门限,当象素梯度超过门限时就认为它是边缘,在图像越亮的地方,梯度的方差就越大,如果门限不变,就会有许多虚假边缘被检测出来;既使门限变化,由于门限的变化范围不好确定,因此效果也不好,所以检测被噪声污染的图像的边缘不能用一般的方法。本文使用斜面拟合法和广义模糊算子法较好地解决了这个问题。
1.1 Haralick斜面拟合法[2]
边缘是一种灰度的起落,故可用曲面对数字图像进行拟合,然后再在拟合的曲面上进行边缘检测。由于拟合用的曲面是满足一定平滑性的有理曲面,因而可以使噪声图像得到平滑,有一定滤噪能力。本文用Haralick曲面拟合方法作图像边缘检测,该方法用斜面拼接成表面,然后求出表面的交,从而确定物体的边缘。Haralick边缘检测可以通过两个步骤完成:
1.1.1确定Haralick斜面拟合参数
假设对于方形数字图像R×C中的每一点(x,y),数字图像f(i,j)的斜面模型都可以写成:
通常R,C均为奇数,设拟合窗口R×C的中间点坐标为(0,0),由于对称性,有:
1.1.2斜面交界的确定
考虑两个相邻的斜面,它们分别由斜面参数(α1,β1,γ1)和(α2,β2,γ2)表征,设它们大小相等,斜面中心点连线的中点坐标为(0,0)。于是这两个中心点的坐标可设为(-δi/2,-δj/2)和(δi/2,δj/2),则两个斜面在一个平面内的条件是:
α1=α2,β1=β2,(α1-α2)δi/2+(β1-β2)δj/2+(γ1-γ2)=0 (8)
因为噪声是正态分布的,则α,β,γ亦服从正态分布,所以:
都是服从零均值的正态分布随机变量。
构造F分布作为统计量:
F值越大,这两个拟合邻域之间存在边缘的可能性越大。
1.2 广义模糊算子法[3]
传统的边缘检测方法是将边缘点理解为灰度的突变点,从而通过邻域象素之间的代数运算来求取边缘点。广义模糊算子法认为:图像灰度差异是由于光照不均而产生的,在二维图像中,边缘是高频成分,但图像在边缘处灰度值是连续的,也就是说,边缘包括了图像其它部分的灰度信息。但由于量化的影响,图像灰度值在边缘处产生突变。
定义 论域U上广义模糊集合A表征为:
其中υA(x)∈[-1,1]称为U上的广义隶属函数;称υA(x)∈[-1,0]为U上x完全不属于A的广义隶属函数;υA(x)∈[-1,0]为U上x完全属于A的广义隶属函数;而υA(x)=0为U上A的模糊分界点函数。
若U是由有限个元素构成的有限域,则广义模糊集合A也是有限的。如果一个广义模糊集中仅有一个元素,则称为广义模糊单敦。
于是一个由灰度级为L的M×N二维灰度图像可看成是由一个广义模糊单敦构成的阵列,其每个元素的广义隶属函数的绝对值表示相对于最大亮度L-1的亮度程度,故可记为:
其中Pij/xij,(-1≤Pij≤1)表示图像中的元素(i,j)完全拥有或不拥有性质Pij的程度。
定义一个广义模糊算子(GFO),它作用在广义模糊集A上可以产生另一个模糊集A’,即A’=GFO(A)。给出GFO的表达式如下:
其中β>1,α>0。在给定了β之后,α可以由上式中第二第三项在分界点[0.5,1]上进行耦合求出。图1为用广义模糊算子实现图像边缘检测的框图。
选择合适映射,将图1中X映射到P,本文采用正弦映射,经过GFO变换,发现:
当象素点X(i,j)→0时,由GFO操作后,P(i,j)→-1,P’(i,j)→1,而X’(i,j)→Xmax’,即低灰阶区域映射到高灰阶区域;
当象素点X(i,j)→1时,由GFO操作后,P(i,j)→1,P’(i,j)→1,而X’(i,j)→Xmax’,即高灰阶区域映射到高灰阶区域;
当象素点X(i,j)为→1中间灰度集时,这通常是真正的边缘所在。由GFO操作后,P(i,j)→0,P’(i,j)→0,而X’(i,j)→Xmax—D(D是由所选映射函数决定的常数)。
至此,就可用广义模糊算子(GFO)检测出图像的边缘。
1.3用Haralick斜面拟合法和广义模糊算子法综合得到图像边缘
用Haralick斜面拟合法和广义模糊算子法结合检测边缘,可以先用这两种边缘监测器分别独立地对图像边缘进行检测,然后把得到的图像边缘取逻辑与,得到用两种方法相结合的最终图像的边缘。
2 无纹理图像的噪声滤除
对于一般图像的噪声,由噪声的统计特性可知,其幅度A是高斯分布,其亮度u是指数分布。对亮度来讲,其分布函数可写成[4]:
因此实际上最终获得的噪声图像像素代表场景的反射强度,图像亮度I(t)可写成
I(t)=R(t)u(t) (14)
其中t=(x,y)为图像上一点,R(t)为理想图像亮度,u(t)为亮度,反应了目标的反射特性,u(t)与R(t)统计独立。
这里我们采用Lee滤波器进行噪声滤除。Lee滤波器假设图像噪声是乘性噪声,并采用自适应迭代法。这种方法有利于保持边缘信息。其数学表达式为:
R=I+K(CP×I)
K=(UV)/(VU2+I2M),
M=(SD/I)/2 (15)
其中,R为处理后像元值;I为平滑窗口像元的平均值;CP为平滑窗口中心像元的灰度值;U是相乘噪声均值(基于假定,一般取U=1);V是平滑窗口像元的方差;SD是平滑窗口的噪声标准差。
3 基于边缘检测的噪声滤除
对未处理的图像(如图2所示)用合适的方法进行边缘检测(使其纹理不丢失)。不是边缘的象素令其值为零,边缘象素保留其原值,得到边缘图像(如图3所示)。把边缘象素点从原始未处理的图像中减去,令边缘被减去处的值等于临近非边缘象素值的平均,这样就得到了非边缘的均匀的图像。用合适的滤波器(本文为Lee滤波器)对改图像滤波,滤除噪声,然后恢复边缘,即用边缘位置的象素值代替被滤波过的对应位置的象素值,得到最终图像(如图4所示)。图5为仅用Lee滤波的结果。从图中可以很明显的看到该算法即保留了边缘又滤除了噪声,效果要明显好于Lee滤波。
参考文献
1 ShiZhenghuo and FungKo B. A Comparison of Digital Speckle Filters. Processing of IGARSS'94
2 Haralick,R. Edge and Region Analysis for Digital Im-age Data. New York, Academic Press,1983
2 陈武凡等.彩色图像边缘检测的新方法—广义模糊算子法.中国科学(A辑),1995;25(2)
3 Lee SL. Refined Filting of Image Noise Using Local Statistics. Computer Graphics Image Processing,1995;(15):380~389