黄金国,戴志明,周培源
(华中科技大学,湖北 武汉 430074)
一种改进的基于梯度的图像边缘检测算法
黄金国,戴志明,周培源*
(华中科技大学,湖北 武汉 430074)
针对经典基于梯度的边缘检测算法对方向的敏感性,从梯度的定义出发,本文提出了一种能够根据实际精度需求任意调整方向的多方向边缘检测的算法。该算法操作简单,具有图像边缘定位准确,抗噪能力强的特点。
灰度梯度;边缘检测;中值滤波;Sobel算子
边缘是指其周围像素灰度变化不连续的那些像素的集合,边缘广泛存在于物体与背景之间、物体与物体之间。图像的边缘对人类视觉系统具有重要意义,是人类判别物体的重要依据,是图像的最基本特征,是图像信息最集中的地方,包含着图像的丰富信息,图像边缘的确定与提取对于整个图像场景的识别与理解是非常重要的,其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解[1,2]。因此,图像边缘检测是图像处理系统的关键技术,也是图像分析中的经典问题,一直是图像处理中的研究热点。
好的边缘检测算法应该有一下3个指标:第一是低失误概率,即真正的边缘点尽可能少的丢失,同时又要尽可能避免将非边缘点检测为边缘点;第二是高位置精度,检测的边缘应尽可能接近真实的边缘;第三是对每一个边缘点有唯一的响应,得到单像素宽度的边缘[3,4]。分析已有的基于灰度特征的边缘检测算法可以发现,这些算法都是基于对图像求简单一阶或二阶导数运算的算法。由于数字图像的特点,处理图像过程中常采用差分来代替导数运算,而实际处理时,都是利用基于方向的模板对图像求卷积运算的方法[5],不同的是各算法的算子使用不同区域大小、不同系数的模板进行操作。这种基于方向模板的算法只对检测特定方向的边缘敏感,对其它方向的边缘检测较弱,也不准备普遍性。本文将讨论一种适应任意方向的边缘检测方法。
边缘信息主要表现为图像局部特征的不连续性,是图像中灰度变化比较剧烈的地方,即是图像中灰度变化最显著的部分。垂直边缘的方向上的导数值非常大,而沿着边缘的方向上的导数值则较小。这样只要能找到图像上各点最大的方向导数,即可检测出边缘点灰度值不连续性效果[6]。
基于梯度的边缘检测方法的基本思想是:
1)对图像中的每个像素点求导数,找出该点灰度变化最剧烈的方向θ及幅值g;
2)设定一个合适的阀值τ,可初步认为幅值g大于τ的像素点是边缘点。
对于连续图像f( x, y)在θ方向沿r→的导数的定义如式(1)所示。
图像f( x, y)在θ方向沿r→的导数的最大值如式(2)
这里最大值g称为图像在这一点的梯度,θ称为这点的梯度方向。当且仅当θ方向与边缘方向垂直时才能得到最大值g。
由于数字图像的特点,在处理过程中,一般用求差分来来替代求导运算。下图表示数字图像中的一个3×3领域。
1,1 x−y− x, y−1 1,1 x+y−x−y x, y x+1,y 1, x−y+ x, y+1 1,1 1,1x+y+
计算点(x,y)水平方向上的灰度变化Px如下式(4)
计算点(x,y)垂直方向上的灰度变化Py如下式(5)
在实际中常用小区域模板与数字图像卷积来计算差分。基本思想是水平和垂直方向各用一个模板,对图像进行处理时,用这两个小区域模板在图像中移动,完成图像中每个像素点与这两个模板的卷积运算,求得水平和垂直方向的差分[7,8]。
水平模板
垂直模板
为了避免(2)式中的平方和开方运算,经典的梯度边缘检测算法采用取Px与Py中绝对值较大者来近似梯度值g[9,10]。这样一来对检测结果的准确性就会造成较大的影响。如用水平模板检测45°方向的边缘。利用上述水平模板得到g=Px=10,而实际该值应为g=10≈14,误差近30%,这样的误差会严重影响后续的处理结果。
在实际图像采集中,不可避免地会引入噪声,尤其是干扰脉冲和椒盐类噪声,噪声的存在会严重影响对边缘检测的结果。中值滤波法是一种非线性平滑技术,在平滑脉冲噪声方面非常效,同时能避免采用平均滤波时带来的目标物边缘模糊的问题[11,12]。
2.1 中值滤波原理
中值滤波原理:对一个窗口(记为W)内的所有像素灰度值按照灰度值大小按升序或者降序进行排序,取排序结果的中间值作为W中心点处像素的灰度值。用公式表示为:
以一维序列{6,7,5,4,9}为例,按升序排列的结果为{4,5,6,7,9},则原序列中间元素(原序列中的5)位置,应取升序排列后的中间值6为相应的滤波结果。通常W内像素个数选为奇数,以保证有一个中间值。中值滤波的关键是选择合适的窗口形状和大小,不同的形状和大小的滤波窗口会带来不同的滤波效果[13]。
2.2 改进的梯度算法
为了既能满足实际处理图像精度的需求,又能避免直接使用公式(2)带来的平方和开方运算所需的计算
开销,本文提出下面的近似计算梯度的方法。
1)设φi=10(2i−1),i=0,1,2,3,……,9,并算出其正切值tanφi;
3)求图像中每个像素点的水平方向差分xP和垂直方向差分Py以及梯度方向θ的正切tanθ;
为了减小噪声的影响,提高检测的准确性,采用Sobel梯度检测算子来计算水平和垂直方向的差分[14,15],其相应的检测模板如下图:
Sobel水平模板
Sobel垂直模板
1)对图像中任意一像素(m, n),如果tanφk<tanθ<tan φk+1,则利用公式(1),可认为该点的梯度值g( m, n)=Px·cosϕk+Py·sinϕk。
若tanθ>20或者tanθ<−20,则令θ=90°
这种求梯度的算法,将边缘方向细分到每10°的区间内,比经典的求梯度的方法计算量稍大,但是在实时性上依然能满足一般的要求,得到的梯度值却更为精确,还能根据所处理对象的精度要求,适当的减小iφ和φi+1之间的距离,可使检测的方向更多,结果更精确。下表1列出了几种梯度算法在PC上运行的时间比较。
表1 几种梯度算法在PC上运行时间
2.3 边缘检测和提取
选择合适的阀值T,如果像素(m, n)对应的梯度值g>T则认为该像素为边缘点,将其像素值设置为255,若像素(m, n)对应的梯度值g<T则认为该像素为非边缘点,将非边缘点的像素值设置为0[16]。这样就得到了待检测图像的二值化的边缘图像。
对Lena图像分别用经典的Sobel算法、和本文算法进行实验比较,同时比较采用中值滤波和不采用中值滤波的差别。
图1 Lena原图
图2 经典Soble算
图3 本文梯度算法未采用中值滤波
图4 本文边缘检测算法
由实验结果对比图3和图4可以看出,中值滤波对最忌噪声效果显著,但同时也可看出,其对滤除高密度的盐椒噪声能力不足。相比经典Soble方法得到的边缘,本文方法得到的边缘更准确清晰,很明显图4检测到了图2中没有检测到的边缘点,同时也排除了一些非边缘点,检测效果得到了一定的提升。
[1] 谷口庆治. 数字图像处理(应用篇)[M].北京:科学出版社,2002.
[2] 赵芳,栾晓明,孙越.数字图像几种边缘检测算子检测比较分析[J].自动化技术与应用,2009, 28(3):68-70.
[3] 龚声荣,刘纯平,王强,等.数字图像处理与分析[M].北京:清华大学出版社,2006.
[4] John Canny,Member,IEEE.A Computational Approach to Edge Detection[J]. IEEE Trans.Pattern Analysis and Machine Intelligence, 1986, PAMI-8(1): 679-697.
[5] 张斌,宋 吻,贺安之.基于任意方向图像导数算法的边缘检测技术[J].光电工程,2009,36(10):124-128.
[6] R.Deriche.Using Canny’s Criteria to Derive a Recursively Implemented Optimal Edge Detector[J].Int.J.Computing Vision.1987,1(2):167-187.
[7] Theo Gevers,Arnold W.M.Smeulders.Content-based Image Retrieval by Viewpoint Invariant Color Indexing[J].Image and Vision Computing,1999(17):475-488.
[8] Chen W.A new algorithm of edge detection for color image:generalized fuzzy operator[J]. Science in China (A),1995,38(10):1272-1273.
[9] 黄剑玲,邹辉.一种精确的自适应图像边缘提取方法[J]. 计算机工程与科学, 2009, 31(9): 53-55.
[10] 余洪山,王耀南.一种改进型canny边缘检测算法[J].计算机工程与应用, 2004, 40(20) 27-29.
[11] Ataman E,Aatre V K,Wong K M.Some statistical Properties of median filtrs[J].IEEE Transactions on Acoustics Speech,Signal Processing, 1980, 28(4):415-421.
[12] 聂汉军,沈永增. 基于小波变换和模糊中值滤波的图像边缘检测[J].计算机工程与应用, 2002: 38(13): 91-92.
[13] Trahanias P E,Pitas I,Venetsanopoulos A N.Directional processing of color image:theory and experimental results[J].IEEE Trans.on Image Processing,1996, 5(6): 868-880.
[14] 袁春兰,熊宗龙,周雪花,等. 基于Soble算子的图像边缘检测研究[J].激光与红外, 2009, 39(1): 85-87.
[15] Sobel L.Camera Models and Machine Perception[D].PhD thesis,Standford University,Standford, CA,1970.
[16] MALLAT S,ZHANG S.Characterization of signals from muhiseale edges[J].IEEE Trans PAM I 1992,14(7):710-732.
An Improved Edge Detection Algorithm Based on Grad
HUANG Jin-guo, DAI Zhi-ming, ZHOU Pei-yuan
(Huazhong University of Science and Technology, Wuhan Hubei 430074, China)
This paper proposes an improved edge detection algorithm based on grad, which aims at the sensitivity of classic edge detection algorithm against directions. This new algorithm can be adjusted to any directions in accordance with the actual requirements of precision, characterized by its easy operation, perfect performance on locating the edge of image and resisting noise.
grey-level gradient;edge detection;median filter;Sobel Operator
TP309
A
1009-5160(2010)03-0033-03
*通讯作者:周培源(1965-),男,副教授,研究方向:嵌入式系统与信息安全.
国家科技支撑计划“虚拟实验教学环境关键技术研究与应用示范”(2008BAH29B00).