基于均值梯度的脉冲噪声图像边缘检测算法

时间:2022-09-04 10:02:47

基于均值梯度的脉冲噪声图像边缘检测算法

摘 要: 为了有效地检测出受脉冲噪声污染图像的边缘,提出了一种基于均值梯度的图像边缘检测算法。算法将检测窗口根据水平和垂直方向分成上、下、左、右4个不同区域,先计算每个区域内非噪声点的平均灰度值,然后利用这些值的差分计算图像梯度,得出梯度图像,最后对梯度图像采用了改进的非极大值抑制方法对梯度图像进行细化并提取边缘。实验结果表明,该算法能够较好地检测出受较高密度脉冲噪声干扰的图像边缘,而且边缘较细,效果明显优于传统Sobel算法,具有较强的实用性。

关键词: 边缘检测; 脉冲噪声; 均值梯度; 非极大值抑制

中图分类号: TN91919?34; TP391.41 文献标识码: A 文章编号: 1004?373X(2015)06?0119?03

Mean gradient based edge detection algorithm for image with impulse noise

SHEN De?hai, HOU Jian, E Xu, ZHANG Long?chang

(College of Information Science and Technology, Bohai University, Jinzhou 121013, China)

Abstract: In order to detect the edge of image polluted by impulse noise, an image edge detection algorithm based on mean gradient is proposed. The algorithm divided the detection window into up, down, left and right areas according to the horizontal and vertical directions, which calculates the average gray value of non noise pixels in every area first, and then calculates the image gradient according to the mean difference of these values to get the gradient image. Finally, the improve non?maximum suppression method is adopted to refine the gradient image and extract the image edge. The experiment results show that the algorithm can detect the edge of image polluted by higher density impulse noise, and the edge is thinning, and the effect of the algorithm is better than the traditional Sobel algorithm.

Keywords: edge detection; impulse noise; mean gradient; non?maximum suppression

0 引 言

边缘是图像中目标与背景的分界线,灰度值变化最为显著。图像边缘是图像的最基本特征之一,包含了许多重要的信息,是图像识别、图像分割和图像理解的重要依据[1]。边缘检测就是将图像不同区域的边界进行确定并提取出来,其效果直接影响后续图像处理的精度和性能。由于数字图像在获取和传输过程中可能受到各种因素的影响而产生噪声,进而影响到图像边缘检测的效果,直接影响到图像的后续处理工作。因此,在检测图像边缘的同时如何有效地抑制噪声一直是图像处理领域研究的热点之一。传统的边缘检测算法如Roberts算子[2]、Sobel算子[3]、Prewitt算子[4]、LoG算子[5]、Canny算子[6]及Kirsch算子等,它们主要是基于图像强度的一阶或二阶导数的计算,算法简单,但对噪声比较敏感。近年来,一些基于新理论的算法被提了出来,如数学形态学算法[7]、小波算法[8]、神经网络算法[9]及遗传算法[10]等,这些边缘检测算法在噪声抑制性能上有了一定的提高,但也各自的存在着算法复杂、普适性差及实时性差等问题。本文借鉴传统边缘检测算法的梯度计算原理,提出了一种基于均值梯度的边缘检测算法,并采用改进的非极大值抑制方法对梯度图像进行细化,算法对不同程度污染的脉冲噪声干扰图像具有良好的抑噪性能,并能较好地检测出图像的边缘。

1 基于梯度的边缘检测原理

传统边缘检测算法都是基于梯度算子的,梯度算子就是一阶导数算子。图像的边缘具有方向和幅度两个基本属性,沿着边缘方向,像素灰度值变化平缓,而沿着垂直边缘的方向,像素灰度值变化剧烈,在此方向上,像素点的一阶导数具有最大值。当图像噪声污染较小时,梯度算子检测的图像边缘效果良好。设f(x,y) 为连续数字图像函数,则其梯度可以表示为如下的一个矢量。

[?fx,y=Gx GyT=?f?x ?f?yT] (1)

式中:Gx和Gy分别为x和y的一阶导数,表示点(x,y)水平和垂直方向的梯度,其梯度幅值和方向分别可以通过式(2)和式(3)来计算。

[?fx,y=Gx2+Gy212=?f2?x+?f2?y12] (2)

[?x,y=arctanGxGy=arctan?f?x?f?y] (3)

为了使计算简洁,常采用近似梯度幅值的计算方法,如式(4)所示。[?fx,y=maxfx′,fy′或?fx,y=fx′+fy′] (4)

式中[fx′=fx+1,y-fx,y,f′y=fx,y+1-fx,y]。

一阶导数Gx和Gy需要针对图像中每个像素的位置计算,实际中经常采用小窗口具有权值的模板与图像进行卷积近似求得。Gx和Gy分别使用一个模板,它们的组合便是一个梯度算子。传统的梯度算子有Roberts算子、Sobel算子和Prewitt算子等,它们的大小和权值都不尽相同,如图1所示。

<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\07T1.tif>

图1 几种梯度算子模板

传统的基于梯度算子边缘检测算法利用算子模板与图像做卷积运算,将最大值输出得到梯度图像,然后再设定门限值TH,将大于等于TH的点视为图像边缘。梯度算子由于采用相邻像素灰度差计算梯度,对噪声较为敏感,当图像受噪声影响较为严重时,检测出的边缘图像包括许多的噪声边缘,使得后续处理无法进行。

2 本文算法

针对传统算法在边缘检测时对噪声敏感问题,提出了一种基于均值梯度的边缘检测算法,算法采用5×5检测窗口,将窗口按照水平方向和垂直方向分为4个区域,按照区域非噪声点的均值差计算窗口中心点的梯度,求得梯度图像,然后采用改进的非极大值抑制方法对梯度图像进行细化,实验证明,算法对脉冲噪声抑制能力较强,边缘细化效果较好,算法原理如下。

2.1 抑噪原理

图像受脉冲噪声干扰,主要表现为受污染点像素值发生突变,远大于或远小于周围正常像素点,使得其与边缘点一样具有较大的梯度值,因此采用梯度算子进行边缘检测,将会使噪声边缘同真实边缘一样被检测出来。本文算法在进行边缘检测时,针对脉冲噪声的特点,采用阈值法先将检测窗口中噪声点检测出来,判断噪声点按照式(5)方法进行。然后通过非噪声点计算图像梯度,不仅消除了噪声点的边缘,也消除了噪声对图像梯度计算的影响。

[fx,y=0, 0+δ≤fx,y≤255-δfx,y,others ] (5)

式(5)是对检测窗口对噪声点进行判断,由于脉冲噪声点像素值接近0或255,因此引用了调解因子δ,δ的范围可根据具体图像来调解。式(5)表明,如果检测窗口内像素点为脉冲噪声点,则将噪声点置为零,否则保持原值不变。

2.2 分区均值计算梯度

算法采用分区均值计算图像梯度,将5×5检测窗口按照水平方向和垂直方向分为4个区域,如图2所示。每个区域大小一样,均为长方形,分布在中心点边缘方向的上下或左右。

<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\07T2.tif>

图2 检测窗口四个分区

图2中的(a)是检测窗口沿中心点水平方向的上下两个区域,用来计算中心点对应像素的垂直方向梯度;(b)是检测窗口沿中心点垂直方向的左右两个区域,用来计算中心点对应像素的垂直方向梯度,(x,y)为窗口中心点坐标,各区域内的灰色圆圈表示落在窗口区域内图像的像素点。算法水平方向梯度和垂直方向梯度的计算如式(6)和式(7)所示。

[?fxx,y=1βavgAux,y-avgAdx,y] (6)

[?fyx,y=1βavgAlx,y-avgArx,y] (7)

式(6)表示采用中心点的上下两个区域内的非噪声像素平均值之差计算水平方向梯度,式(7)表示采用中心点的左右两个区域内的非噪声像素平均值之差计算垂直方向梯度,根据前面所述,区域内的噪声点像素值均被赋0值,在计算区域均值时,不参与计算。式中的β为衰减因子,主要是防止梯度值的溢出,算法中取值为10。由于区域均值的计算去除了脉冲噪声的干扰,采用区域均值充分利用了邻域相关性原理,如果方向区域为边缘方向,则该区域内的像素灰度值变化平缓,虽然缺少了一些像素点对区域均值的影响较小,利用均值差分可以较准确的表示边缘梯度。最后将两个方向梯度值的最大值作为输出,即得到梯度图像G,如式(8)所示。

[Gx,y=maxΔfxx,y,Δfyx,y] (8)

2.3 梯度边缘细化及提取

图像边缘的细化是指在保持原图像边缘轮廓不变的情况下,尽可能地提取出单像素宽的骨架的过程。细化过程是数字图像处理中的一个重要处理步骤,其效果直接影响图像后续的相关处理。由于梯度图像是通过一阶微分或近似方法计算得出的,其边缘较粗,为了只保留边缘处梯度幅值局部变化最大的点,常采用非极大值抑制方法来细化边缘。所谓非极大值抑制过程,就是沿着图像边缘的梯度方向进行检测,将检测方向上不具备局部极大值的像素值置为0,否则保持原像素值。

经过非极大值抑制方法处理后的梯度图像,边缘得到了细化,但也会产生新的非边缘点或丢失一些边缘点,不适合后续处理的要求。本文采用改进的非极大值抑制算法,如式(9)所示。算法采用3×3窗口,从水平和垂直两个方向对梯度图像G进行非极大值处理,G′为处理后的梯度图像。

[G'(x,y)=G(x,y), if(G(x,y)≥γ.max(G(x-1,y),G(x+1,y))) 或if(G(x,y)≥γ.max(G(x,y-1),G(x,y+1)))0, others] (9)

式中:γ为细化度调解因子,根据γ可以根据需要调解细化强度。γ值减小,将减少边缘点的丢失,γ值增大,额外的边缘点会减少,当然边缘点的丢失和额外边缘点的增加是一对矛盾,可根据需要适当调解。经过多次实验验证,γ值在0.98~1.02之间调整,可保证边缘宽度较细,且连续性较好。最后,选取合适阈值TH,将细化后的梯度图像G′进行二值化处理,得到边缘图像。

3 验证实验

将标准灰度图像cell作为实验对象,在Matlab 实验平台下进行编程实验。第一次实验中,将cell图像就加入密度为5%的脉冲噪声,第二次将cell图像加入密度为50%的脉冲噪声,分别采用传统Sobel 算法和本文算法对噪声图像进行边缘检测试验。实验结果如图3和图4所示。

<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\07T3.tif>

图3 较低密度噪声图像检测结果

从图3可以看出,在噪声密度较低时,传统Sobel算法虽然能够将真正的图像边缘检测出来,但图中同时含有许多噪声边缘,对于后续的工作将产生重大的误差。本文算法 提取的边缘图像中不存在噪声边缘,图像轮廓清晰,连续性较好,而且边缘较细。从图4可以看出,在噪声密度达到50时,传统Sobel算法检测出的边缘图像受噪声影响严重,已经模糊不清,几乎用肉眼都无法识别出图像轮廓;而本文算法依然能够检测出清晰的图像边缘,存在非常少的噪声边缘,同时边缘较细,连续性较好。

<E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\07T4.tif>

图4 较高密度噪声图像检测结果

4 结 论

针对含噪图像提出一种基于均值梯度的边缘检测算法,算法采用分区域均值的方法计算图像梯度,在较好地检测出图像边缘的同时,对脉冲噪声起到了良好的抑制作用。采用改进的非极大值抑制方法使得检测出的图像边缘较细,而且连续性较好,具有良好的适应性和较高的应用价值。

参考文献

[1] 邓彩霞,王贵彬,杨鑫蕊.改进的抗噪形态学边缘检测[J].数据采集与处理,2013,28(6):740?744.

[2] 赵月云,王波.基于Roberts 边缘检测的面向对象建筑物信息提取[J].城市勘测,2012(2):120?122.

[3] 郑英娟,张有会,王志巍,等.基于八方向Sobel算子的边缘检测算法[J].计算机科学,2013,40(11):354?356.

[4] 邹柏贤,张然,苗军.Prewitt图像边缘检测方法的改进[J].微电子学与计算机,2013,30(5):23?26.

[5] 马娅丽,熊淑华,黑建业.一种改进的LOG 边缘算法研究[J].计算机技术与发展,2013,23(9):6?9.

[6] 许宏科,秦严严,陈会茹.一种基于改进Canny 的边缘检测算法[J].红外技术,2014,36(3):210?214.

[7] 师文,朱学芳,朱光.基于形态学的MRI图像自适应边缘检测算法术[J].仪器仪表学报,2013,34(2):408?413.

[8] 韩慧妍,韩燮.基于方向小波变换的边缘检测算法[J].微电子学与计算机,2007,29(7):55?57.

[9] 李玉荣.基于改进BP 神经网络的彩色图像边缘检测[J].煤炭技术,2011,30(10):154?156.

[10] 牟宇飞,张文普,彭x.基于遗传算法阈值优化的模糊边缘检测[J].重庆理工大学学报:自然科学版,2012,26(8):91?112.

上一篇:射频宽带放大器的增益控制设计与研究 下一篇:基于DSP模型的快速代码的生成