基于边缘检测的图像分割算法研究及其应用本科毕业论文.doc
本科毕业论文(设计)论 文 题 目基于边缘检测的图像分割算法研究及其应用姓名(学号)系 别专 业导 师 姓 名基于边缘检测的图像分割算法研究及其应用作 者指导教师摘要:图像分割是图像处理中的一个经典难题,也是图像处理和计算机视觉领域中的基本技术。目前,广大研究者在图像分割领域里已提出了上百种分割方法,每种分割方法只局限特定的分割对象,至今没有一种通用的方法。边缘检测是图象处理中重要的一个环节。文章具体对Prewitt 算子、Sobel算子、高斯-拉普拉斯(LOG)算子、Wallis算子、 过零点检测(Marr-Hildreth算子)、 Canny边缘检测方法、 SUSAN(Smallest Univalue Segment Assimilating Nucleus)边缘检测等进行算法分析,利用上述算法,找出其中较好的一种检测方法用于图像分割.关键词:图像分割;边缘检测;图象处理;检测算子Image Segmentation Based on Edge Detection Algorithm and its ApplicationAbstract:Image segmentation is not only a cIassical puzzle for researchcrs but also the imponant part of image analysisand the computer vision fieldNowadays,hundreds of methods have been put forward to the image sqgmcntation,and each of the methods is used for special segnlented objectsThere is not a generaI method for irnagc segment as yetThis Article specific to analysis of Prewitt operator, Sobel operator, Gauss - Laplace (LOG) operator, Wallis operator, zero crossing detection (Marr-Hildreth operator), Canny edge detection method, SUSAN (Smallest Univalue Segment Assimilating Nucleus) algorithm for edge detection, etc. Using the above method, find out a better method for detecting image segmentation.Key words: Image segmentation; edge detection;image processing; detection operator目 录摘 要IIABSTRACTII1 绪 论11.1 基于边缘检测的图像分割算法的背景和意义11.2 基于边缘检测的图像分割算法的主要内容11.3 本论文的结构安排22 图像分割以及边缘检测算法的分析32.1 图像分割32.1.1 概述32.2 边缘检测42.2.1图像边缘.52.2.2几种边缘检测算子.73 基于边缘检测的图像分割算法的应用.173.1 CANNY算子的应用17结果比较.18结 论18后摘要19致 谢19参考文献20附 件211绪 论1.1 基于边缘检测的图像分割算法的背景和意义图像分割时一种重要的图像分析技术。在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣,这些部分称为目标或者前景(其他部分称为背景),他们一般对应图像中特定的、具有独特性质的区域。这里的独特性可以是像素的灰度值、物体轮廓曲线、颜色、纹理等。为了识别和分析图像中的目标,需要将它们从图像中分离提取出来,在此基础上才有可能进一步对目标进行测量和对图像进行利用。因此图像分割就是指把图像分成各具特性的区域并提出感兴趣目标的技术和过程。图像分割的方法已有上千种,每年还有许多新方法出现,虽因尚无通用的分割理论,目前提出的分割算法大都是针对具体问题的,但是对于图像分割的一般性规律则基本上已经达成了共识。而基于边缘检测的图像分割是模仿人类视觉的过程而进行图像处理的。对于人类视觉系统认识目标的过程分为两步:首先,把图象边缘与背景分离出来;然后,才能知觉到图象的细节,辨认出图象的轮廓。因此在检测物体边缘时,先对其轮廓点进行粗略检测,然后通过链接规则把原来检测到的轮廓点连接起来,同时也检测和连接遗漏的边界点及去除虚假的边界点。图象的边缘是图象的重要特征,是计算机视觉、模式识别等的基础,因此边缘检测是图象处理中一个重要的环节。然而,边缘检测又是图象处理中的一个难题,由于实际景物图象的边缘往往是各种类型的边缘及它们模糊化后结果的组合,且实际图象信号存在着噪声。噪声和边缘都属于高频信号,很难用频带做取舍。1.2 本论文的主要内容一、对Prewitt 算子、Sobel算子、高斯-拉普拉斯(LOG)算子、Wallis算子、 Canny边缘检测方法、 SUSAN(Smallest Univalue Segment Assimilating Nucleus)边缘检测等进行算法分析。二、利用上述算法,找出其中较好的一种检测方法用于图像分割。三、用到一类图像中并完成实验。1.3 本论文的结构安排图像分割的基本概念边缘检测算法Prewitt 算子Sobel算子高斯-拉普拉斯(LOG)算子Wallis算子Canny边缘检测方法SUSAN边缘检测分析分析完成实验用jdk开发用具,编写代码,将上述代码应用于一类图像综合比较选择一种算法应用于图像分割2 图像分割以及边缘检测算法的分析2.1 图像分割2.1.1 概述在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣。这些部分常称为目标或对象,它们一般对应图像中特定的、具有独特性质的区域。图像处理的重要任务就是对图像中的对象进行分析和理解。前面介绍的图像处理着重强调在图像之间进行变换以改善图像的视觉效果;图像分析则主要是对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息从而建立对图像的描述;图像理解的重点是在图像分析的基础上,进一步研究图像中各目标的性质和它们之间的相互联系,并得出对原始客观场景的解释,从而指导和规划行动。图像分析的大致步骤为: 把图像分割成不同的区域或把不同的对象分开;找出分开的各区域的特征;识别图像中要找的对象或对图像分类;对不同区域进行描述或寻找出不同区域的相互联系,进而找出相似结构或将相关区域连成一个有意义的结构。 这里的区域指相互连通的、有一致属性的像元的集合.它是一个方便的、很好的图像中层描述符号,是对图像模型化和进行高层理解的基础。为了辨识和分析目标,需要将它们分离提取出来,在此基础上才有可能对目标进一步利用。图像分割就是指把图像分成互不重叠的区域并提取出感兴趣目标的技术和过程。图像分割是由图像处理进到图像分析的关键步骤。一方面,它是目标表达的基础,对特征测量有重要的影响。另一方面,因为图像分割及其基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式,使得更高层的图像分析和理解成为可能。 多年来人们对图像分割提出了不同的解释和表述,这里借助集合概念,给出图像分割比较正式的定义。 令集合R代表整个图像区域,对R的分割可看作将R分成N个满足以下五个条件的非空子集(子区域)R1,R2,RN: ;对所有的i和j,ij,有RiRj =;对i = 1,2,N,有P(Ri) = TRUE;对ij,有P(RiRj) = FALSE;对i =1,2,N,Ri是连通的区域。 其中P(Ri)是对所有在集合Ri中元素的逻辑谓词,代表空集。 条件指出在对一幅图像的分割结果中全部子区域的总和(并集)应能包括图像中所有像素(就是原图像);条件指出在分割结果中各个子区域是互不重叠的,或者说在分割结果中一个像素不能同时属于两个区域;条件指出属于同一个区域中的像素应该具有某些相同特性;条件指出在分割结果中属于不同区域的像素应该具有一些不同的特性;条件要求分割结果中同一个子区域内的任两个像素在该子区域内互相连通,或者说分割得到的区域是一个连通组元。 为有效地分割各种各样的图像,人们已经提出了很多分割方法。 按分割途径分为: 1)基于边缘提取的分割法 先提取区域边界,再确定边界限定的区域。2)区域分割 从图像出发,按“有意义”的属性一致的原则,确定每个像元的归属区域,形成一个区域图。 3)区域增长 从像元出发,按“有意义”的属性一致的原则,将属性接近的连通像元聚集成区域。 4)分裂合并法 综合利用上述2)、3)两种方法,既存在图像的划分,又有像元的合并。 至今,图像区域分割已有了很长的研究历史,针对各种具体图像建立了许多算法,但尚无统一的理论。为了寻求更好的分割方法,今后主要的研究方向是1)提取有效的属性;2)寻求更好的分割途径和分割质量评价体系;3)分割自动化。本文主要对边缘检测进行分析。2.2 边缘检测在一副视觉图像中,往往有很多条图像边缘,可以说图像边缘是图像的主要特征信息。图像中的边缘对分析视觉图像特别重要,是图像分割、纹理特征提取和形状特征提取等图像分析的重要基础。2.2.1 图像边缘边缘是指图像中像元灰度有阶跃变化或屋顶状变化的那些像元的集合。它存在于目标与背景、目标与目标、区域与区域、基元与基元之间。它对图像识别和分析十分有用,边缘能勾划出目标物体轮廓,使观察者一目了然,包含了丰实的信息(如方向、阶跃性质 、形状等),是图像识别中抽取的重要属性。 边缘粗略分为阶跃状和屋顶状两种。阶跃状边缘位于两边的像素灰度值有明显不同的地方;屋顶状边缘位于灰度值从增加到减少的转折处。 下图(a)中OIJ图像平面上PP是阶跃状边缘,PP上每个像素均是阶跃边缘点图(b)中QQ是屋顶状边缘,位于图像平面OIJ上边缘QQ的每个像素称为屋顶状边缘点。 图(1) a阶跃状边缘 b屋顶状边缘考察过P'',Q''与PP和QQ分别正交的截面,阶跃边缘和屋顶状边缘分别为一维阶跃函数和正态状函数,如上图(c)、(d)所示。P''和Q''是相应的边缘点。设阶跃状边缘点P''左右灰度变化曲线为y = fE(x),屋顶状边缘点Q''左右灰度变化曲线为y = fR(x)。fE(x)和fR(x)的一阶、二阶导数分别如上图的(e),(f)和(g),(h)所示。对于阶跃状边缘点P'',灰度变化曲线y = fE(x)的一阶导函数在P''点达到极值,二阶导函数在P''近旁呈零交叉。对于屋顶状边缘点Q'',灰度变化曲线y = fR(x)的一阶导函数在Q''点近旁呈零交叉,二阶导函数在Q''点达到极值。利用边缘灰度变化的一阶或二阶导数特点,可以将边缘点检测出来。边缘有方向和幅度两个特性,通常沿边缘走向的幅度变化比较平缓,而垂直于边缘走向的幅度变换比较剧烈。对于阶跃边缘,一阶微分边缘检测算子正是利用了边缘的方向和幅度这两个特性。函数的变化程度可用一阶微分导数表示。而对于二维图像,其局部特性的显著变化可以用梯度来检测。梯度是函数变化的一种度量,定义为G(x,y)= (1)梯度是一矢量,函数的梯度给出了方向导数最大的方向(2)而这个方向的导数等于梯度的模(3)因此,可以把梯度的模作为边缘检测的算子。梯度的模给出了边缘强度,梯度的指向给出了边缘的方向。对于数字图像,式(2.1)的导数可用差分来近似。最简单的梯度近似表达式为(4)这里i,j表示像素点的列坐标和行坐标。在实际应用时,其可用下面的简单卷积模板Gx和Gy完成:-11 Gx=1-1Gy=在以梯度表示二维图像局部特性时,应计算同一图像位置(x,y)的偏导数,然而采用式(2.4)计算的梯度近似值 和 并不属于同一图像位置。实际上 是内插点i+1/2,j处的梯度近似值,而 确是内插点i,j+1/2处的梯度近似值。正因如此,人们常常使用2*2一阶差分模板来求x和y的偏导数-11-11Gx=-11-11Gy=这时,x和y方向梯度的图像位置是相同的,这一点位于内插点i+1/2,j+1/2处,即在2*2领域的所有四个像素点之间2.2.2 几种边缘检测算子(1) Prewitt边缘算子Prewitt边缘算子是一种计算梯度的近似方法。它是在3*3领域内计算梯度值,这样可以避免在像素之间内插点上计算梯度。考虑下面所示的点i,j周围点的排列:a0a1a2a7i,ja3a6a5a4点i,j的偏导数用以下式计算:(5)其中,c=1。和其他的梯度算子一样,和可以用卷积模板Gx和Gy来实现。-101-101-101Gx=z11000-1-1-1Gy=图像中的每个点都用这两个模板来做卷积。(2) Sobel边缘算子Sobel边缘算子和Prewitt边缘算子的偏导数形式完全一样,只是c=2。所以,与使用Prewitt边缘算子一样,图像中的每个点都用这两个模板来进行卷积,与Prewitt边缘算子不同,Sobel边缘算子把重点放在接近于模板中心的像素点:-101-202-101Gx=121000-1-2-1Gy=Gx对于垂直边缘响应最大,而Gy对于水平边缘响应最大,从卷积模板可以看出,这一算子把重点放在接近与模板中心的像素点。(3) Laplace算子对于阶跃状边缘,其二阶导数在边缘点出现零交叉,即边缘点两旁二阶导数取异号。据此,对数字图像的每个像素计算关于x轴和y轴的二阶偏导数之和 (6)上式就是著名的 Laplace算子。该算子对应的模板如下图所示,它是一个与方向无关的各向同性(旋转轴对称)边缘检测算子。若只关心边缘点的位置而不顾其周围的实际灰度差时,一般选择该算子。 其特点是:各向同性、线性和位移不变的;对细线和孤立点检测效果好。但边缘方向信息丢失,常产生双像素的边缘,对噪声有双倍加强作用。 由于梯度算子和Laplace算子都对噪声敏感,因此一般在用它们检测边缘前要先对图像进行平滑。(4) 高斯-拉普拉斯(LOG)算子LOG算子是在拉普拉斯算子的基础上实现的,它得意于对人的视觉机理的援救,有一滴昂的生物学意义。由于拉普拉斯算子对噪声比较敏感,为了减少噪声影响,可先对待处理的图像进行平滑,然后再用拉普拉斯算子检测边缘。在从景物到图像的形成过程中,对每一像素点的灰度来说,该像素点所对应的真实景物的周围点对该像素点灰度的影响是随径向距离成正态分布,即越接近与像素点所对应的真实景物点,对该像素点的灰度贡献越大。所以平滑函数应反映不同远近的周围点对给定像素具有的不同作用。实际上高斯函数满足上述对平滑的要求。因此,LoG算子中采用了高斯函数。设f(x,y) 为源图像,h(x,y) 为高斯平滑函数,平滑滤波后的图像可以表示原图像与平滑函数的卷积(7)然后对图像 采用拉普拉斯算子进行检测边缘,可得(8)由卷积的性质,有其中(9)这样,利用二阶导数算子过零点的性质,可确定图像中阶跃装边缘的位置。式(2.5)中的称为拉普拉斯高斯算子LoG算子。运用LoG算子检测边缘,实际上就是寻找满足的点。LoG算子是一个轴对称函数,各向同性。图2.1示出来了LoG算子及其频谱图的一个轴截面的翻转图,其中 。也称为“墨西哥草帽”。由图2.1(a)可见,这个函数在出有过零点,在时为正,在时为负。另外可以证明这个算在定义域内的平均值为零,因此,将它与图像卷积并不会改变图像的整体动态范围。但由于它相当光滑,因此将它与图像卷积会模糊图像,并且模糊程度真比于。正因为的平滑特性能减少噪声的影响,所以当边缘模糊或噪声较大时,利用检测过零点能提供较可靠的边缘位置。在该算子中,的选择很重重要,选小时位置精度高但边缘细节变化多。应注意LoG算子用于噪声较大的区域会产生高密度的过零点。图2 LoG算子频谱图图2.2是一个5*5LoG模板,数学上已证明,LoG算子是按零交叉检测阶跃边缘的最佳算子,但在实际图像中,高斯滤波的零交叉点不一定全部是边缘点,还需要进一步对其真伪进行检验。综上所述,LoG边缘算子概括如下:(1) 平滑滤波器是高斯滤波器。(2) 二维拉普拉斯函数。(3) 边缘检测判据是二阶导数零交叉点并对应一阶导数的较大的峰值。(4) 使用线性内插方法在子像素分辨率水平上估计边缘的位置。00-1000-1-2-10-1-216-2-10-1-2-1000-100图(3) 5*5LoG模板(5) Wallis算子该算子是laplace算子的改进,也是一种采用了自适应技术的算子。 设f(i,j)为原始图像,它的局部均值和局部标准偏差分别为_f(i,j)和(i,j),则增强后的图像在点(i,j)处灰度为: g(i,j) = a * md + (1-a)*_f(i,j) + f(i,j) - _f(i,j)* A*d/A*(i,j) + _d(10)其中,m_d和_d表示设计的平均值和标准偏差,A是增益系数,a是控制增强图像中边缘和背景组成的比例常数。 (6) Canny边缘检测算子虽然边缘检测的基本思想比较简单,但在实际实现时却碰到了很大困难,其根本原因是实际信号都有噪声的,而且一般表现是高频信号。在这种情况下,如果直接采用上述边缘算子,检测出来的都是噪声引起的假的边缘点。解决这一问题的办法是先对信号进行平滑滤波,以滤去噪声。对平滑后的图像,采用上述边缘算子就可以比较有效地检测出边缘点,这一过程为: 设原始图像输入为f(x,y),h(x,y) 为高斯平滑函数,平滑滤波后的图像可以表示原图像与平滑函数的卷积(11)然后在计算平滑后图像的梯度(12)由卷积运算特性,有(13)所以,Canny边缘检测的过程可以直接采用原始图像与平滑滤波脉冲响应一阶微分的卷积运算来实现常用的平滑滤波为高斯函数,可以将作为一个算子,称为一阶微分高斯算子,因此,Canny边缘算子是高斯函数的一阶导数。下图5*5Canny算子模板0.03660.08210-0.0821-0.03660.16420.36790-0.3679-0.16420.27070.60650-0.6065-0.27070.16420.36790-0.3679-0.16420.03660.08210-0.0821-0.0366Gx= 0.03660.16420.27070.16420.03660.08210.36790.6065-0.36790.082100000-0.0821-0.3679-0.6065-0.3679-0.0821-0.0366-0.1642-0.2707-0.1642-0.0366Gy=图像经过高斯平滑后边缘变得模糊,因此,由计算梯度得到的边缘就具有一定的宽度。具有这种宽边缘变细的方法,叫作非极大点的抑制。这种方法是在垂直于边缘的方向上互相比较邻接像素的梯度幅值,并出去具有比领域处小的梯度幅值。根据这一操作,梯度幅值的非极大点背出去,边缘也就变细了。当然,非极大点抑制图像仍会包含许多有噪声和细纹引起的假边缘,假边缘可以通过双阈值T1和T2,且T22T1,得到两个双阈值边缘图像G1i,j和G2i,j。由于图像G2i,j是双高阈值得到的,因此它含有较少的假边缘,但可能在轮廓上有间断。双阈值算法在G2i,j中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在G1i,j的8邻点位置寻找可以接到轮廓上的边缘。这样,算法将不断地在G1i,j中收集边缘,直到将G2i,j中所有的间隙连接起来为止。所以,归纳上述过程,Canny边缘算子可概括如下:用高斯滤波平滑图像。用一阶偏导的有限差分来计算梯度的幅值和方向。对梯度幅值进行非极大值抑制。用双阈值算法检测和连接边缘。(7) SUSAN(Smallest UnivalueSegment Assimilating Nucleus)算子经典的边缘检测方法如:Roberts,Sobel,Prewitt, ,Laplace等方法,基本都是对原始图像中象素的小邻域构造边缘检测算子,进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阀值提取边界。由于这些算法涉及梯度的运算,因此均存在对噪声敏感、计算量大等缺点。在实践中,发现SUSAN 算法只基于对周边象素的灰度比较,完全不涉及梯度的运算,因此其抗噪声能力很强,运算量也比较小。并将SUSAN 算法用于多类图像的边缘检测中,实验证明该算法非常适合含噪图像的边缘检测。图(4) SUSAN特征检测原理SUSAN 特征检测原理:如图上图所示,用一个圆形模板在图像上移动,若模板内象素的灰度与模板中心象素(称为:核Nucleus) 灰度的差值小于一定阀值,则认为该点与核具有相同(或相近) 的灰度,由满足这样条件的象素组成的区域称为USAN(Univalue Segment Assimilating Nucleus) 。当圆形模板完全处在图像或背景中时,USAN 区域面积最大(如图中的a 和b) ;当模板移向图像边缘时,USAN 区域逐渐变小(如图1 中c) ;当模板中心处于边缘时,USAN 区域很小(如图1 中的d) ; 当模板中心处于角点时,USAN 区域最小(如图中的e) 。可以看出,在边缘处象素的USAN 值都小于或等于其最大值的一半。因此,计算图像中每一个象素的USAN 值,通过设定一个USAN阀值,查找小于阀值的象素点,即可确定为边缘点。对整幅图像中的所有象素,用圆形模板进行扫描,比较模板内每一象素与中心象素的灰度值,通过与给定的阀值比较,来判别该象素是否属于USAN 区域,如下式:c( r , r0 )= (15)式中c( r , r0 )为模板内属于USAN 区域的象素的判别函数; I(r0)是模板中心象素(核) 的灰度值; I(r)为模板内其他任意象素的灰度值;t是灰度差门限。图像中每一点的USAN 区域大小可用下式表示: (16)(2)式中D(r0)为以r0为中心的圆形模板区域。得到每个象素的USAN 值n(r0)以后,再与预先设定得门限g 进行比较,当n(r0)<g时,所检测到象素位置r0 可以认为是一个边缘点。由于图像的数字化,实际上无法实现真正的圆形模板,所以都是采用近似圆代替。但是模板较小时,如果门限选取不恰当,可能会发生边缘点漏检的情况。模板也不宜取得太大,否则会增大运算量大,通常可取5 ×5 或37象素模板,门限g 决定了边缘点的USAN 区域的最大值,即只要图像中的象素的USAN 值小于g , 该点就被判定为边缘点。g 过大时, 边缘点附近的象素可能作为边缘被提取出来,过小则会漏检部分边缘点。实验证明g 取 nmax 时( nmax为模板的最大USAN 值) ,可以较好地提取出初始边缘点。如果要达到单象素的精度,还需进一步剔除多余象素。门限t 表示所能检测边缘点的最小对比度, 也是能忽略的噪声的最大容限。t 越小,可从对比度越低的图像中提取特征。因此对于不同对比度和噪声情况的图像, 应取不同的t 值。SUSAN算子与其他算子的比较:边缘检测效果好:边缘检测效果好无论对直线,还是曲线边缘,SUSAN 算法基本上可以检测出所有的边缘,检测结果较好。虽然实验中没有达到一个象素的精度,但这主要是因为对边缘的两侧都应用了SUSAN 算法,对具体的实际应用,可以对背景不再应用SUSAN 算法,这样不但可以达到细化边缘的目的,而且运算量也大大减少。而Robert 算子和Prewitt 算子对部分直线边缘不能检测出来,圆的边缘也有部分漏检情况; Gauss-Laplace 算子虽然基本上可以检测出所有边缘,但是他的定位效果较差,边缘象素较宽。抗噪声能力好由于USAN 的求和相当于求积分,所以这种算法对噪声不敏感,而且SUSAN 算法不涉及梯度的计算,所以该算法抗噪声的性能很好。很明显,如果考虑有独立同分布的高斯噪声,只要噪声小于USAN 函数的相似灰度门限值,噪声就可被忽略。对局部突变的孤立噪声,即使噪声的灰度与核相似,只要局部USAN 值小于门限g ,也不会对边缘检测造成影响。因此SUSAN 边缘检测算法可以用于被噪声污染的图像的边缘检测。而其他的边缘检测算法, Robert 算子、Prewitt 算子、Gauss-Laplace 算子,以及应用广泛的Canny 算子,由于这些算法都涉及一阶梯度,甚至二阶梯度的计算,所以他们的抗噪声能力较差。算法使用灵活使用控制参数t 和g , 可以根据具体情况很容易地对不同对比度、不同形状的图像通过设置恰当的t 和g 进行控制。比如图像的对比度较大, 则可选取较大的t 值, 而图像的对比度较小,则可选取较小的t 值。所以这种算法非常适用于对某些低对比度图像或目标的识别。运算量小速度快对1 幅256 ×256 的图像,应用SUSAN 算法进行计算,对每一点只需做8 次加法运算,共需要做256 ×256 ×8 次加法。而对于其他的经典的边缘检测算法,如果采用欧式距离作为梯度算子, Sobel 算子采用两个3 ×3 的模板,对每一点需要做9 次加法,6 次乘法,以及1 次开方运算,则共需要做256 ×256 ×9 次加法运算和256 ×256 ×6 次乘法运算,以及256 ×256 次开方运算。对Gauss2Laplace 算子、Priwitt 算子以及Canny 算子计算量就更大。(5)可以检测边缘的方向信息SUSAN 算法实际上还可以检测边缘的方向信息。具体算法是,对每一个检测点计算模板内与该点灰度相似的象素集合的重心,检测点与该重心的连线的矢量垂直与这条边缘。3基于边缘检测的图像分割算法的应用3.1 Canny算子的应用Canny算子应用到图像边缘检测,所用的开发环境为JDK,该程序包含以下几个类:CannyPic类CannyPicFrame类CannyPicPanel类MyImage类:主要用来加载图像PixelContrl类:是本程序的重要的类,通过该类,可建立图像像素信息的数组,进而通过该数组,可计算彩色图像的灰度值,以便用于Canny算子的应用。mycanvas类:主要用于对经过边缘处理的图像进行显示。Canny算子应用的具体步骤:通过公式Gray = (R2.2 ×0.2229 + G2.2 ×0.7175 + B2.2× 0.0595)1/2.2来计算图像每个像素点的灰度值,再用如下卷积模板做卷积:0.03660.08210-0.0821-0.03660.16420.36790-0.3679-0.16420.27070.60650-0.6065-0.27070.16420.36790-0.3679-0.16420.03660.08210-0.0821-0.0366Gx= 0.03660.16420.27070.16420.03660.08210.36790.6065-0.36790.082100000-0.0821-0.3679-0.6065-0.3679-0.0821-0.0366-0.1642-0.2707-0.1642-0.0366Gy=通过做卷积,可以得到每个像素点的梯度的模|G(x,y)|,选择一个合适的阈值T,当|G(x,y)|>T时,可认为该点是边缘点,然后再打印边缘点,可得到图像的边缘图像(程序代码见附录)。以下是Canny检测边缘的效果图原始图像效果图图(5) Canny算法实现对比结果比较:Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图象边缘可能大于2个像素。这两者对灰度渐变低噪声的图象有较好的检测效果,但是对于混合多复杂噪声的图象,处理效果就不理想了。LOG滤波器方法通过检测二阶导数过零点来判断边缘点。LOG滤波器中的正比于低通滤波器的宽度,越大,平滑作用越显著,去除噪声越好,但图象的细节也损失越大,边缘精度也就越低。所以在边缘定位精度和消除噪声级间存在着矛盾,应该根据具体问题对噪声水平和边缘点定位精度要求适当选取。而且LOG方法没有解决如何组织不同尺度滤波器输出的边缘图为单一的、正确的边缘图的具体方法。Canny方法则以一阶导数为基础来判断边缘点。它是一阶传统微分中检测阶跃型边缘效果最好的算子之一。它比Sobel算子和Prewitt算子极小值算法的去噪能力都要强,但它也容易平滑掉一些边缘信息。而对于SUSAN 边缘检测算法,则是直接利用图像灰度相似性的比较,而不需计算梯度,具有算法简单、定位准确、抗噪声能力强等特点。因此,非常适于含噪图像或低对比度灰度图像的边缘检测。如果进一步减小门限g 的数值,SUSAN算法还可以用于角点的检测。结 论:讨论和比较了几种常用的边缘检测算子。Sobel边缘算子和Prewitt边缘算子的偏导数形式完全一样只是Sobel算子把重点放在接近于模板中心的像素点。拉普拉斯算子的特点是:各向同性、线性和位移不变的;对细线和孤立点检测效果好。但边缘方向信息丢失,常产生双像素的边缘,对噪声有双倍加强作用。LOG算子是在拉普拉斯算子的基础上实现的具有一定的抗噪声能力,Canny算子则以一阶导数为基础来判断边缘点。它是一阶传统微分中检测阶跃型边缘效果最好的算子之一,LOG滤波器和Canny算子能够检测出图象较细的边缘部分。SUSAN算子与其他算子比较具有边缘检测效果好、抗噪声能力好、算法使用灵活、运算量小、可以检测边缘的方向信息,不同的系统,针对不同的环境条件和要求,选择合适的算子来对图象进行边缘检测。致谢:本课题在整个完成过程中得到孔敏老师的悉心指导。*老师平日里工作繁忙,但在我们做毕业设计时的每个阶段,他都悉心指导我们。正是由于老师的细心指导和不懈支持,我的毕业设计才能顺利完成。孔老师的治学态度和务实的工作作风深深的感染了我。再次毕业之际,谨向孔老师表示诚挚的感谢和深深的问候。另外,我要感谢我系的各位领导为我们提供了良好的学习和生活条件。感谢所有关心和帮助过我的人,我将在以后的学习和工作中更加努力。相信自己,明天会更加美好!参考文献:1 高月红.灰度图像分割算法的研究.科技信息.2009, (27)2罗希平,田捷,诸葛婴,王靖,戴汝为.图像分割方法述.PR&AI.Vol.12,No.3.1999.3Mathews Jacob,Michael Unser. Design of Steerable Filters for Feature Detection Using Canny-Like Criteria.IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,Vol.26,No.8,2004.4姬光荣,王国宇,王宁.基于小波变换的多尺度边缘检测.中国图象图形学报.Vol.2,No.10.1997.5 郑静 梁少华 王腾.基于MATLAB仿真的边缘检测算子研究.电脑知识与技术年.2010, 6(5)6 左飞.数字图像处理原理与