当前位置:文档之家› 图像边缘检测

图像边缘检测

V ol.15, No.1©2004 Journal of Software 软 件 学 报 1000-9825/2004/15(01)0000 图像边缘检测Edge Detection of ImageLi Jie(Department of Computer Science and Technology,Nanjing University, Nanjing, China)Email:lijie1108@摘 要: 边缘检测是在图像的局部区域上针对像素点的一种运算,在计算机视觉、图像理解等应用中扮演着重要的角色,同时也是图象分析与模式识别的重要环节。

因为图像的边缘包含了模式识别的有用信息,所以边缘检测是图像分析和模式识别中特征提取的主要手段,也使得边缘检测在计算机视觉的一些预处理算法中有着重要的地位。

另外,随着科技日新月异的发展,边缘检测技术也逐渐运用到生产和生活中。

因此,对边缘检测的研究也有很重要的实际应用价值。

本文介绍了边缘检测的一般步骤,对灰度图像的几种边缘检测算法,作简单的介绍。

关键词: 边缘检测; 经验模型分解;Sobel 算子;神经网络中图法分类号: TP-301 文献标识码: A1 引言边缘检测是图像处理领域中最基本的问题,也是经典的技术难题之一,它的解决对于进行高层次的特征提取、特征描述、目标识别和图像理解等有着重大的影响。

因此,边缘检测在图像分割、模式识别、计算机视觉等众多方面都有着非常重要的地位。

然而由于成像过程中的投影、混合、畸变和噪声等导致图像的模糊和变形,边缘往往难于检测,这使得人们一直致力于构造具有良好性质的边缘检测算子。

边缘检测的研究有着久远的历史,其原因一方面是由于课题本身的重要性,另一方面也反映了这个课题的深度和难度。

所以,边缘检测方面的研究具有非常重要的理论意义。

由于边缘为图像中灰度发生急剧变化的区域边界,传统的图像边缘检测方法大多可归结为图像高频分量的增强过程,微分运算自然就成了边缘检测与提取的主要手段。

人们最早提出了一阶微分边缘算子,用图像灰度分布的梯度来反映图像灰度的变化,最早如1965年提出的Robert 算子[1],在Robert 算子基础上改进得到的sobel[1]算子、Prewitt[1]算子和Kirsh 算子等。

但是,这些算子由于梯度或一阶微分算子通常在图像边缘附近的区域内产生较宽的响应,故上述算子检测到的边缘图像常需作细化处理,这就影响了边缘定位的精度。

因而又产生了与边缘方向无关的二阶微分边缘检测算子,即LaPlacian 算子[2l 。

利用二阶导数零交叉所提取的边缘宽度为一个像素,所得的边缘结果无需细化,有利于边缘更准确的定位。

近年来,随着科学技术的发展,利用各种新的理论工具对图像进行边缘检测的方法得到了广泛的研究和应用。

例如基于形态学的边缘检测算子,借助统计学方法的检测技术[7]、利用神经网络的检测技术[8]、利用模糊理论的检测技术[9]、利用信息论的检测技术[10]、利用遗传算法的检测技术、基于分形特征的边缘检测技术[24]等的研究也相继出现,表现相当活跃。

由于实际图像都含有噪声,并且噪声的分布、方差等信息也都是未知的,而噪声和边缘都是高频信号。

外加物理和光照等原因,实际图像中的边缘常常发生在不同的尺度范围上,并且每一边缘像元的尺度信息是未知的。

因此,传统的边缘检测算法检测效果并不理想。

2 Journal of Software 软件学报 2004,15(1) 2 边缘检测的步骤和常用算法2.1 边缘检测的基本步骤1.滤波[16]:边缘和噪声同属图像中强度变化剧烈的部位因此边缘检测算子对边缘和噪声都很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测算子的性能。

2.增强:增强边缘的基础是确定图像各点邻域强度的变化值。

增强算法可以将邻域(或局部)强度之有显著变化的点突显出来。

3.检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。

最简单的边缘检测判据是利用梯度幅值的阈值作为判据。

4.定位:边缘定位即确定边缘点的具体位置,除此之外还应包括边缘细化、连接。

图2.1边缘检测的流程2.2 常用边缘检测算法 经典的边缘检测算法主要有微分法和最优算子法,微分法是通过利用经典的微分算子[3]检测图像的边缘,主要包括Roberts 算子、Sobel 算子、Prewitt 算子、Kirsch 算子和Laplacian 算子等,最优算子法则是微分算子发展和优化,主要有LOG 算子和Canny 算子等。

微分法的基本工具是微分算子,它是最原始、最基本的边缘检测算法,检测原理基于灰度图像边缘处的一阶导数有极值,二阶导数存在过零点。

在对边缘求导时,需要对每个位置的像素进行计算,在实际检测中常常用模板卷积的方法来近似计算。

最优算子法是在微分算子法的基础上发展起来的边缘检测算子,根据信噪比求得边缘的最优滤波器,常见有LOG 算子和Canny 算子(本文不作介绍)。

3 灰度图像微分算法3.1 一阶微分方法一阶微分方法通过梯度算子或一阶导数算子估计图像灰度变化的方向,增强图像中的灰度变化区域,然后对增强区域进一步判断。

对于连续函数),(y x I ,它在点)(y x ,处的x 方向,y 方向和θ方向的一阶方向导数为:()x y x I y x I x ∂∂=),(, (3.1)y y x I y x I y ∂∂=),(),( (3.2) θθθsin ),(cos ),(),(y y x I x y x I y x I ∂∂+∂∂= (3.3)它在点),(y x 处的梯度为一个矢量,定义为:作者名 等:题目 3[]⎥⎦⎤⎢⎣⎡∂∂∂∂=∇y I x I G G y x I y x ,,),(τ= (3.4)梯度数值为:22)()(||y x grad ∂∂+∂∂= (3.5)梯度方向与水平方向的夹角为:x Iy I∂∂∂∂=arctan ϕ (3.6)许多经典算子都是基于上述理论提出来的,如Sobel 算子、Roberts 算子、Prewitt 算子等。

但在具体应用时,由于数字图像的离散性,所以在数字图像中常常以图像的一阶差分运算代替图像的一阶微分运算。

3.2 Sobel 算子下面简单介绍下Sobel 算子[3]。

Sobel 算子是一个离散微分算子,它计算一个图像强度的梯度近似值。

在图像的每一个点,Sobel 算子的结果是一个梯度向量或者是个向量范数。

它是计算以该点为中心的3⨯3点阵的),(y x f 的偏导数。

为了抑制噪声,给它的中心点加一个权重,则它的数字梯度近似等于下式:)}1,1(),1(2)1,1({)}1,1(),1(2)1,1({--+-+---+++++-+=y x f y x f y x f y x f y x f y x f G x (3.7))}1,1()1,(2)1,1({)}1,1()1,(2)1,1({-++-+---++++++-=y x f y x f y x f y x f y x f y x f G y (3.8)梯度大小为:22),(y x G G y x g += (3.9)它的卷积模板算子如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=101202101x T ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=121000121y T (3.10) 如果使用Sobel 检测图像M 的边缘,我们可以使用水平模板x T 和垂直模板y T 来旋转图像,不考虑边缘条件,可以得到2个同样大小的梯度矩阵M1和M2作为原始图像,然后总的梯度值可以通过两个梯度矩阵相加得到,再通过阈值法得到图像的边缘。

3.3 经验模型分解算法经验模型分解(EMD )[19]是一种高适应性的分解。

它可以把任意复杂的信号分解成内部函数模型集(IMF )。

第一个IMF 图像[13]包含了边缘的很多重要特征。

从第一个IMF 图像中提取了边缘像素后,通过一4 Journal of Software软件学报2004,15(1)个合适的阈值,我们可以得到一个清晰的边缘图像。

具体算法步骤如下:1.通过柱状图相似来处理原始图像,来提高图像的对比度。

2.应用BEMD[4][20]来得到一个IMF图像。

3.大多数的背景像素都在0.5左右,根据尖锥装的柱状图,我们可以得到阈值,这个阈值在0.1到0.2之间。

利用这个阈值移除不重要的像素点维持重要的边缘像素点。

方法:用每个像素的灰度值减去0.5,如果绝对值小于阈值,则将它的灰度值设为0,否则设为1。

4.抽取了边缘像素点后,图像有一个很清晰的边缘,这时候有些粗边缘需要削细。

5.最后移除一些独立的像素点,就得到了最后的边缘图像。

图3.1 经验分解算法流程图3.4 神经网络边缘检测算法为了检测有256灰度值的灰度图像的边缘,可以考虑一个类似BP神经网络[5][18]的模型,该模型由8个子BP神经网络组成,每一个子网络可以检测2值图像的边缘。

每一个子BP神经网络对应灰度图像的一个位平面。

每个神经网络的输出会根据每个位平面的权重做调整。

8个位平面的权重依次为1/256、2/256、4/256、8/256、16/256、32/256、64/256、128/256。

通过类似的模型,可以很精确的检测出灰度图像的边缘。

结构如图3.2所示:作者名等:题目 5图3.2神经网络边缘检测算法的模型结构图4 总结边缘检测是图像处理领域中最基本的问题,也是图像处理其他工作的前提。

然而,在研究图像边缘的时候,不可避免的会受到噪声等的干扰。

前人提出的很多经典算法,比如微分算子法,BP神经网络算法,基于关联规则的检测算法[14]等,边缘检测效果都不是特别理想。

这就需要我们寻找更好的算法。

致谢在此,向对本文的工作给予支持和建议的同学,特别是对教授我们计算机视觉课程的张琰老师表示感谢!References:[1] 冈萨雷斯,数值图像处理[M].北京:电子工业出版社,2003,471-474[2] 孙即祥,数字图像处理,河北出版社,1993.[3] Wenshuo Gao, Lei Yang, Xiaoguang Zhang, Huizhong Liu, An Improved Sobel Edge Detection. ©2010 IEEE978-1-4244-5540-9/10/[4] LingFei Liang , ZiLiang Ping. An Edge Detection Algorithm of Image Based On Empirical Mode Decomposition. © 2008 IEEEDOI 10.1109/IITA.2008.324[5] Weiqing Li, Chengbiao Wang, Qun Wang, Guangshe Chen,An Edge Detection Method Based on Optimized BP Neural Network. ©2008 IEEE DOI 10.1109/ISISE.2008.310[6] S. Beucher, Geodesic reconstruction, saddle zones and hierarchical segmentation, Image Anal .Stereol. 20(2001) pp.137-141[7] S.Konishi, A.Yuille and J.Coughlan. A statistical approach to multi-scale edge detection. Image and VisionComputing ,2003,(21):37-485.[8] S.C.Douglas, T.H.Meng. Design of Edge Detection Templates Using a Neural Network. Proc. International Joint Conference onNeural Networks.1990,2:331-334.[9] D.S.Kim, W.H.Lee and I.S.Kweon.Automatic edge detection using 3*3 ideal binary pixel patterns and fuzzy-based edgethresholding. Pattern Recognition Letters,2004,(25):101-106.[10] Q.Tian,X.Li and N.M.Bilgutay.Multiple Target Detection Using Split Spectrum Processing and Group Delay Moving Entropy.IEEETrans. On UFFC.1995,42(6):1075-1886.[11] 薛东辉,朱耀庭,朱光喜,等,基于尺度分维的图像边缘检测方法研究。

相关主题