一种基于Sobel算子梯度增强的边缘检测算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于Sobel算子梯度增强的边缘检测算法
沈德海,张龙昌,鄂旭
渤海大学信息科学与技术学院,辽宁锦州121013;
摘要:针对传统Sobel算子在图像边缘检测中存在的弱边缘提取较差及边缘较粗等不足,提出了一种局部梯度增强的检测算法。算法采用改进的Sobel算子卷积模板计算图像梯度;然后对梯度图像采用局部标准差方法增强局部弱边缘的梯度,最后对局部梯度增强的图像进行细化处理并提取图像边缘,得到边缘图像。实验结果表明,该算法获取的边缘图像边缘信息较丰富,连续性好,边缘较细,整体效果优于传统Sobel算法,具有较高的实用价值。
关键词:边缘检测;Sobel算子;局部梯度;标准差;梯度增强
中图分类号:TN 911.73 文献标识码:A 文章编号:
An Strengthening Gradient Edge Detection Algorithm Based On Sobel
SHEN De-hai,ZHANG Long-chang,E Xu
Institute of Information Science and Technology, Bahai University, Jinzhou , Liaoning 121013, China
Abstract:An edge detection algorithm is proposed aiming at the shortcoming of traditional Sobel operator in poor weak edge extraction and coarse edge. The new algorithm calculates the image gradient by improved Sobel convolution templates, then uses local standard deviation to strengthen local weak edge gradient of gradient image, at last, uses refinement method to refine the gradient strengthened image and extract the image edge. The results show that the edge image extracted by improved algorithm has rich edge information, good edge continuity and thin edge, its edge detection effects are better than traditional Sobel algorithm, and has high practical value.
Keywords: Edge detection; Sobel Operator; local gradient; standard deviation; gradient strength
引言
在图像处理和计算机视觉等领域中,图像边缘检测已经成为一个重要的研究课题。图像边缘是图像的最基本特征之一,其中包含了丰富的内在信息,如形状、大小、位置及方向等,有效地检测和提取图像边缘对于后续的图像分析、分割和识别等处理过程至关重要[1]。图像边缘表现为局部区域的灰度不连续性,是那些灰度值发生较快变化的像素点的集合,在边缘点处,其一阶微分值为极大值或二阶导数过零交叉点。传统的边缘检测方法有Sobel[2]、Roberts[3]、Prewitt、Laplactian等。这些算法主要是通过空域卷积模板与图像进行卷积运算来求解图像梯度,然后再通过选取阈值提取图像边缘,算法相对简单、速度较快,但在方向特征上要求较少,容易丢失一些细节,且对噪声敏感。
近年来,随着一些新理论的出现,新的边缘检测算法也不断涌现,如形态学算法[4]、小波变换算法[5]、模糊理论算法[6]、神经网络算法[7]及遗传算法[8]等,这些算法在边缘信息精确程度、噪声抑制能力及边缘细化等方面各有所长,当然也存在一些问题,如算法复杂度高、实时性差、普适性差等。本文在传统Sobel 算子基础上,提出了一种基于局部梯度增强的边缘检测算法,算法采用水平、垂直、45º和135º四个方向的5x5大小的卷积模板进行检测,同时,对梯度图像采用局部标准差进行了梯度增强,使得检测的边缘较为完整、细节较为丰富,连续性较好。
1.Sobel算子基本原理
传统Sobel算子采用空域微分算子来计算图像梯度,在某一点的梯度对应于该点的一阶导数。设f(x,y)
基金项目:辽宁省高等学校实验室项目(N0: L2012397); 博士后基金项目(N0:2012M520158);辽宁省“百千万人才工程”资助项目(N0:2012921058);教育厅科研一般项目(N0:L2012400)。
作者简介:沈德海,(1978-)男,讲师,硕士,主要研究方向为数据库技术与图像处理;鄂旭,男,教授,博士;张龙昌,男,
为连续数字图像函数,其在点(x ,y )处的梯度矢量定义[10]如式(1)。
j y
f i x f y x f ∂∂+∂∂=),(' (1) 式中i ,j 分别为x ,y 方向的单位矢量。梯度算子的幅值和方向分别如式(2)和(3)所示。 21
22y f x f y x f ⎥⎦⎤
⎢⎣⎡∂∂+∂∂=∇)()(),( (2) ⎥⎦
⎤⎢⎣⎡∂∂∂∂=y f x f /a r c t a n θ (3) 式(2)的计算结果即为图像f (x ,y )在点(x ,y )的梯度幅值,其值的大小代表了边缘信息的强度,其值越大,则越是具有边缘特性。式(3)的结果为该边缘的方向角度。在实际应用中,由于采集到的数据图像是离散的像素点阵集合,因此在边缘检测中常有相邻或间隔的像素值的差分来表示图像的方向梯度值,如式(4)和式(5)所示,其图像像素对应位置关系如图2所示。
)z z 2(z )z z 2(z 987321++-++=∂∂x
f (4) )z z 2(z )z z 2(z 741963++-++=∂∂y
f (5) 传统Sobel 算子采用水平和垂直两个方向模板与图像进行卷积运算,得到两个方向梯度。如图1所示。其中模板内的值为模板权值,参与卷积运算,与对应位置的离散图像像素进行加权计算。
图1 Sobel 算子模板 图2 图像像素对应位置关系
Fig.1 Sobel operator templates Fig.2 location relation of image pixels
其中模板内的权值与对应位置的图像像素灰度值进行加权平均,计算获取图像方向梯度,在一定程度上提供了边缘方向的连续性。由于Sobel 算子只在水平和垂直两个方向上获取边缘信息,所以会使其它方向的边缘信息丢失或弱化,边缘连续性差。文献1将模板扩展至0º、22.5º、45º、67.5º、90º、112.5º、135º和157.5º八个方向,大大增加了算法的运算量。本文将模板增加至垂直、水平、45º和135º四个方向,在一定程度上将水平、垂直和两个斜向的边缘信息较好地进行了检测,使得边缘方向更强。通过实验验证,本文算法提取的边缘信息更丰富,方向性更强,计算量大大减小。
2.本文算法
2.1 定义四方向算子模板
本文采用大小为5x 5的四个方向卷积模板,四个方向分别为垂直方向、水平方向、45º方向和135º方向,分别用来检测水平方向边缘、垂直方向边缘、135º方向边缘和45º方向边缘,如图3所示。图中的四个方向模板中,不同位置赋予不同的权值,权值的大小根据该位置的像素对中心点相应方向梯度值贡献大小来决定,也反应了该位置与距离模板中心的位置关系,距离最近的为4或-4,其次为2或-2,再次为1或-1,最远的为0。四个方向模板及合理化的权值设置可以使计算出的梯度方向性更强,连续性更好,梯度值更为准确。