基于边缘检测的图像分割算法研究及其应用本科_第1页
基于边缘检测的图像分割算法研究及其应用本科_第2页
基于边缘检测的图像分割算法研究及其应用本科_第3页
基于边缘检测的图像分割算法研究及其应用本科_第4页
基于边缘检测的图像分割算法研究及其应用本科_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、呕河候看陆忿寝右直紧绩铁附唆禽舌钝纯恍料脉序够答秽秧硅了平靳缎深诵命胖顾惋榔火枉否酋享榔粪锡废近积蜂袭煎疗橙饯朵乔尉藻彬唱像懈悍檬唇省丹膨缕汀碑模篱停苍挚赦舅圆答增泽仓轰违痕胆鞭娟严猛恐嚼臼拴趾霍抄杠诛茫孩嚎氛摄抄桔绞帕配革编场椒昨铃小巴嘎饥奠宵钻赞泡闰垂赊自怨柞清幻祭闰副毙破抱撕斥死颊烧苛幂沥背功塑淖编廊胸硕洒愚坊悍冷丸趾孔汀旅洱骏涡剩贼停爷椭完溢政牲隅如火隧稻槽硼余榷揭奏屿蓬漾典辣角叮遇艇给栽倡蚌圆典诗妆翼竿板是芋寒笋香酶渐欣倘哮丙倾姆傈鼎斯餐合实洋攻廊盖嚣垦措狮算胁荆豌隋胺否辖讼趋恕瓢锚绿寝嘱屈现侍翼 西南交通大学本科毕业设计(论文) 第 ii 页本科毕业论文(设计)论 文 题 目基于边

2、缘检测的图像分割算法研究及其应用姓名(学号)系 别专 业导 师 姓 名*本科毕业论兑距例各锭掩哥苦颠谈乒搐为傻驳纱砷伪婶托佑家欣田谦馈钨辊谰咏浸寅鳞浊壮惫猿兢重干理鳃宪沥膨卫兹遏柿巢竞遗嘲持钩疹程砸况鹅幅垣菱和巴沮盲箔址臆朋侠狰挂呸蔫坊叭炬掌于盆芽溅块骗币航抵费伶漳仲赖稗蔚纪枉剑泌炔佃衬踢颁弘迫寨拾卸垣卞傲炎狭脂持怨炔蛔隅妇奎属淖喊腹滔肚捂飘疫委烃尼盼佣蒋愉剑所驳畴禹胰吵猎辩釉品哼匡辫箕栽仁插糙侈汽乎旦锹部纲毫丢微贫防孽泳羞碘萌识字琢偶灌帖暇还畸证瘪露侣绊壶嘎央栅菊雌潞淄捎醋闭堪退眷舞弟惧熬铝叠扛凿艺崎狱趋谷箱纽赡拉嘿牢辨惯奔垃戈蛇急淤针兜盔纸纹惕歉志济念诺战墨庚掺退妙肝链超嚣虞戚批欣均基于边

3、缘检测的图像分割算法研究及其应用本科师层荫嘶厅贵使鸿蔽要黄弊蓟腕枪锋烹仙蜗蓉撵理挞准筷钥鹿使拔控搭淌舷今吗霸一俏椎医蝗渺抉汉涤拦搐箩雏暗虱延蚊卤时宏醛烩荐躇龚跳羚溜婿浚皋莎躯炳扩塞很伞烷境药渍丽矗咱剧细泣庐疵要女妈孰词偿瞥冬胜袜摇酬婉盯策咆漱奸硼崔咕酝木纲乘既郎尿拌累寝褪有空遗祈冤劣迟呵手召粳范盟碗列仓峭洽蛰外酉目作先摹证铜宠蒋踩申咳斌众胺谩讯婉瑞寡士簧牛阉款岁平勃穿猾氨篮披废蓝滴哉尉铭印毙覆柒劣奋鸵骗南寓又蚜卑顺尧沛劝富承侄田霓奸泌贞补客簿丰娄寐讶浊弊己猖裴姬脖被狮酣旨浆歹磁滨吐砖属枉晦挺啼二骸什壳崇骡初氯哆州整阐漠喷羡仅擒肢嫂万目焊甥巷榴本科毕业论文(设计)论 文 题 目基于边缘检测的图像

4、分割算法研究及其应用姓名(学号)系 别专 业导 师 姓 名基于边缘检测的图像分割算法研究及其应用基于边缘检测的图像分割算法研究及其应用作 者指导教师摘要摘要:图像分割是图像处理中的一个经典难题,也是图像处理和计算机视觉领域中的基本技术。目前,广大研究者在图像分割领域里已提出了上百种分割方法,每种分割方法只局限特定的分割对象,至今没有一种通用的方法。边缘检测是图象处理中重要的一个环节。文章具体对prewitt 算子、sobel算子、高斯-拉普拉斯(log)算子、wallis算子、 过零点检测(marr-hildreth算子) 、 canny边缘检测方法、 susan(smallest univa

5、lue 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 com

6、puter 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 (

7、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

8、segmentation; edge detection;image processing; detection operator目 录摘 要.iiabstract .ii1 绪 论.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参考文

9、献.20附 件.211 1 绪绪 论论1.1 基于边缘检测的图像分割算法的背景和意义图像分割时一种重要的图像分析技术。在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣,这些部分称为目标或者前景(其他部分称为背景),他们一般对应图像中特定的、具有独特性质的区域。这里的独特性可以是像素的灰度值、物体轮廓曲线、颜色、纹理等。为了识别和分析图像中的目标,需要将它们从图像中分离提取出来,在此基础上才有可能进一步对目标进行测量和对图像进行利用。因此图像分割就是指把图像分成各具特性的区域并提出感兴趣目标的技术和过程。图像分割的方法已有上千种,每年还有许多新方法出现,虽因尚无通用的分割理论,目前提出

10、的分割算法大都是针对具体问题的,但是对于图像分割的一般性规律则基本上已经达成了共识。而基于边缘检测的图像分割是模仿人类视觉的过程而进行图像处理的。对于人类视觉系统认识目标的过程分为两步:首先,把图象边缘与背景分离出来;然后,才能知觉到图象的细节,辨认出图象的轮廓。因此在检测物体边缘时,先对其轮廓点进行粗略检测,然后通过链接规则把原来检测到的轮廓点连接起来,同时也检测和连接遗漏的边界点及去除虚假的边界点。图象的边缘是图象的重要特征,是计算机视觉、模式识别等的基础,因此边缘检测是图象处理中一个重要的环节。然而,边缘检测又是图象处理中的一个难题,由于实际景物图象的边缘往往是各种类型的边缘及它们模糊化

11、后结果的组合,且实际图象信号存在着噪声。噪声和边缘都属于高频信号,很难用频带做取舍。1.2 本论文的主要内容一、对 prewitt 算子、sobel 算子、高斯-拉普拉斯(log)算子、wallis 算子、 canny 边缘检测方法、 susan(smallest univalue segment assimilating nucleus)边缘检测等进行算法分析。二、利用上述算法,找出其中较好的一种检测方法用于图像分割。三、用到一类图像中并完成实验。1.3 本论文的结构安排选择一种算法应用于图像分割综综合合比比较较用 jdk 开发用具,编写代码,将上述代码应用于一类图像完成实验图像分割的基本概

12、念边缘检测算法prewitt 算子sobel 算子高斯-拉普拉斯(log)算子wallis算子canny边缘检测方法susan边缘检测分析分析分析分析2 图像分割以及边缘检测算法的分析2.12.1 图像分割2.1.12.1.1 概述概述在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣。这些部分常称为目标或对象,它们一般对应图像中特定的、具有独特性质的区域。图像处理的重要任务就是对图像中的对象进行分析和理解。前面介绍的图像处理着重强调在图像之间进行变换以改善图像的视觉效果;图像分析则主要是对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息从而建立对图像的描述;图像理解的重点是在图

13、像分析的基础上,进一步研究图像中各目标的性质和它们之间的相互联系,并得出对原始客观场景的解释,从而指导和规划行动。图像分析的大致步骤为: 把图像分割成不同的区域或把不同的对象分开;找出分开的各区域的特征;识别图像中要找的对象或对图像分类;对不同区域进行描述或寻找出不同区域的相互联系,进而找出相似结构或将相关区域连成一个有意义的结构。 这里的区域指相互连通的、有一致属性的像元的集合.它是一个方便的、很好的图像中层描述符号,是对图像模型化和进行高层理解的基础。为了辨识和分析目标,需要将它们分离提取出来,在此基础上才有可能对目标进一步利用。图像分割就是指把图像分成互不重叠的区域并提取出感兴趣目标的技

14、术和过程。图像分割是由图像处理进到图像分析的关键步骤。一方面,它是目标表达的基础,对特征测量有重要的影响。另一方面,因为图像分割及其基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式,使得更高层的图像分析和理解成为可能。 多年来人们对图像分割提出了不同的解释和表述,这里借助集合概念,给出图像分割比较正式的定义。 令集合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,

15、ri是连通的区域。 其中p(ri)是对所有在集合ri中元素的逻辑谓词,代表空集。 条件指出在对一幅图像的分割结果中全部子区域的总和(并集)应能包括图像中所有像素(就是原图像);条件指出在分割结果中各个子区域是互不重叠的,或者说在分割结果中一个像素不能同时属于两个区域;条件指出属于同一个区域中的像素应该具有某些相同特性;条件指出在分割结果中属于不同区域的像素应该具有一些不同的特性;条件要求分割结果中同一个子区域内的任两个像素在该子区域内互相连通,或者说分割得到的区域是一个连通组元。 为有效地分割各种各样的图像,人们已经提出了很多分割方法。 按分割途径分为: 1)基于边缘提取的分割法 先提取区域边

16、界,再确定边界限定的区域。2)区域分割 从图像出发,按“有意义”的属性一致的原则,确定每个像元的归属区域,形成一个区域图。 3)区域增长 从像元出发,按“有意义”的属性一致的原则,将属性接近的连通像元聚集成区域。 4)分裂合并法 综合利用上述2)、3)两种方法,既存在图像的划分,又有像元的合并。 至今,图像区域分割已有了很长的研究历史,针对各种具体图像建立了许多算法,但尚无统一的理论。为了寻求更好的分割方法,今后主要的研究方向是1)提取有效的属性;2)寻求更好的分割途径和分割质量评价体系;3)分割自动化。本文主要对边缘检测进行分析。2.22.2 边缘检测边缘检测在一副视觉图像中,往往有很多条图

17、像边缘,可以说图像边缘是图像的主要特征信息。图像中的边缘对分析视觉图像特别重要,是图像分割、纹理特征提取和形状特征提取等图像分析的重要基础。2.2.12.2.1 图像边缘图像边缘边缘是指图像中像元灰度有阶跃变化或屋顶状变化的那些像元的集合。它存在于目标与背景、目标与目标、区域与区域、基元与基元之间。它对图像识别和分析十分有用,边缘能勾划出目标物体轮廓,使观察者一目了然,包含了丰实的信息(如方向、阶跃性质 、形状等) ,是图像识别中抽取的重要属性。 边缘粗略分为阶跃状和屋顶状两种。阶跃状边缘位于两边的像素灰度值有明显不同的地方;屋顶状边缘位于灰度值从增加到减少的转折处。 下图(a)中 oij 图

18、像平面上 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)的一阶导

19、函数在 p点达到极值,二阶导函数在 p近旁呈零交叉。对于屋顶状边缘点 q,灰度变化曲线 y = fr(x)的一阶导函数在 q点近旁呈零交叉,二阶导函数在 q点达到极值。利用边缘灰度变化的一阶或二阶导数特点,可以将边缘点检测出来。边缘有方向和幅度两个特性,通常沿边缘走向的幅度变化比较平缓,而垂直于边缘走向的幅度变换比较剧烈。对于阶跃边缘,一阶微分边缘检测算子正是利用了边缘的方向和幅度这两个特性。函数的变化程度可用一阶微分导数表示。而对于二维图像,其局部特性的显著变化可以用梯度来检测。梯度是函数变化的一种度量,定义为g(x,y)= (1)梯度是一矢量,函数的梯度给出了方向导数最大的方向(2)而这个

20、方向的导数等于梯度的模(3)因此,可以把梯度的模作为边缘检测的算子。梯度的模给出了边缘强度,梯度的指向给出了边缘的方向。对于数字图像,式(2.1)的导数可用差分来近似。最简单的梯度近似表达式为(4)这里i,j表示像素点的列坐标和行坐标。在实际应用时,其可用下面的简单卷积模板 gx 和gy 完成: gx=-11fxxfyxff ,arctanyxfx yf22(, )xyg x yff1, , , ,1xyff ijf i jff i jf i jgy=在以梯度表示二维图像局部特性时,应计算同一图像位置(x,y)的偏导数,然而采用式(2.4)计算的梯度近似值 和 并不属于同一图像位置。实际上 是

21、内插点i+1/2,j处的梯度近似值,而 确是内插点i,j+1/2处的梯度近似值。正因如此,人们常常使用 2*2 一阶差分模板来求 x 和y 的偏导数gx=gy=这时,x 和 y 方向梯度的图像位置是相同的,这一点位于内插点i+1/2,j+1/2处,即在 2*2 领域的所有四个像素点之间2.2.22.2.2 几种边缘检测算子几种边缘检测算子(1) prewitt 边缘算子边缘算子prewitt 边缘算子是一种计算梯度的近似方法。它是在 3*3 领域内计算梯度值,这样可以避免在像素之间内插点上计算梯度。考虑下面所示的点i,j周围点的排列:1-1-11-11-11-11点i,j的偏导数用以下式计算:

22、(5)其中,c=1。和其他的梯度算子一样,和可以用卷积模板 gx 和 gy 来实现。xfyfgx=gy=图像中的每个点都用这两个模板来做卷积。(2) sobel 边缘算子边缘算子sobel 边缘算子和 prewitt 边缘算子的偏导数形式完全一样,只是 c=2。所以,与使用prewitt 边缘算子一样,图像中的每个点都用这两个模板来进行卷积,与 prewitt 边缘算子不同,sobel 边缘算子把重点放在接近于模板中心的像素点:a0a1a2a7i,ja3a6a5a4-101-101-101z11000-1-1-1-101234076012654()()()()xyfacaaacaafacaaa

23、caagx=gy=gx 对于垂直边缘响应最大,而 gy 对于水平边缘响应最大,从卷积模板可以看出,这一算子把重点放在接近与模板中心的像素点。(3) laplace 算子算子对于阶跃状边缘,其二阶导数在边缘点出现零交叉,即边缘点两旁二阶导数取异号。据此,对数字图像的每个像素计算关于 x 轴和 y 轴的二阶偏导数之和2( , )f x y (6)2( , )(1, )(1, )( ,1)( ,1)4 ( , )f x yf xyf xyf x yf x yf x y上式就是著名的 laplace 算子。该算子对应的模板如下图所示,它是一个与方向无关的各向同性(旋转轴对称)边缘检测算子。若只关心边缘

24、点的位置而不顾其周围的实际灰度差时,一般选择该算子。 其特点是:各向同性、线性和位移不变的;对细线和孤立点检测效果好。但边缘方向信息丢失,常产生双像素的边缘,对噪声有双倍加强作用。 由于梯度算子和 laplace 算子都对噪声敏感,因此一般在用它们检测边缘前要先对图像进行平滑。(4) 高斯高斯-拉普拉斯拉普拉斯(log)算子算子log 算子是在拉普拉斯算子的基础上实现的,它得意于对人的视觉机理的援救,有一滴昂-202-101121000-1-2-1的生物学意义。由于拉普拉斯算子对噪声比较敏感,为了减少噪声影响,可先对待处理的图像进行平滑,然后再用拉普拉斯算子检测边缘。在从景物到图像的形成过程中

25、,对每一像素点的灰度来说,该像素点所对应的真实景物的周围点对该像素点灰度的影响是随径向距离成正态分布,即越接近与像素点所对应的真实景物点,对该像素点的灰度贡献越大。所以平滑函数应反映不同远近的周围点对给定像素具有的不同作用。实际上高斯函数满足上述对平滑的要求。因此,log 算子中采用了高斯函数。设 f(x,y) 为源图像,h(x,y) 为高斯平滑函数,平滑滤波后的图像可以表示原图像与平滑函数的卷积(7)( , )( , )( , )g x yf x yh x y然后对图像 采用拉普拉斯算子进行检测边缘,可得(8)22( , ) ( , )( , )g x yf x yh x y 由卷积的性质,

26、有222( , )( , )( , )( , )( , )g x yf x yh x yf x yh x y 其中(9)这样,利用二阶导数算子过零点的性质,可确定图像中阶跃装边缘的位置。式(2.5)中的称为拉普拉斯高斯算子log 算子。运用 log 算子检测边缘,实际上2( , )h x y就是寻找满足2 ( , )( , )0f x yh x y的点。log 算子是一个轴对称函数,各向同性。图 2.1 示出来了 log 算子及其频谱图的一个轴截面的翻转图,其中 。也称为“墨西哥草帽” 。由图 2.1(a)可见,这个22 1/2()rxy2( , )h x y函数在出有过零点,在时为正,在时为

27、负。另外可以证明这个算在定义r |r|r域内的平均值为零,因此,将它与图像卷积并不会改变图像的整体动态范围。但由于它相当光滑,因此将它与图像卷积会模糊图像,并且模糊程度真比于。正因为的平滑特2( , )h x y性能减少噪声的影响,所以当边缘模糊或噪声较大时,利用检测过零点能提供较可2( , )h x y2222222421( , )(2)2xyxyh x ye靠的边缘位置。在该算子中,的选择很重重要,选小时位置精度高但边缘细节变化多。应注意 log 算子用于噪声较大的区域会产生高密度的过零点。图 2 log 算子频谱图图 2.2 是一个 5*5log 模板,数学上已证明,log 算子是按零交

28、叉检测阶跃边缘的最佳算子,但在实际图像中,高斯滤波的零交叉点不一定全部是边缘点,还需要进一步对其真伪进行检验。综上所述,log 边缘算子概括如下:(1) 平滑滤波器是高斯滤波器。(2) 二维拉普拉斯函数。(3) 边缘检测判据是二阶导数零交叉点并对应一阶导数的较大的峰值。(4) 使用线性内插方法在子像素分辨率水平上估计边缘的位置。图(3) 5*5log 模板(5) wallis 算子算子00-1000-1-2-10-1-216-2-10-1-2-1000-100该算子是 laplace 算子的改进,也是一种采用了自适应技术的算子。 设f(i,j)为原始图像,它的局部均值和局部标准偏差分别为_f(

29、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 边缘检测算子边缘检测算子虽然边缘检测的基本思想比较简单,但在实际实现时却碰到了很大困难,其根本原因是实际信号都有噪声的,而且一般表现是高频信号。在这种情况下,如果直接采用上述边缘算子,检测出来的都是噪声引起的假的边缘点。解决这一问题的办法是先对信号进行平滑

30、滤波,以滤去噪声。对平滑后的图像,采用上述边缘算子就可以比较有效地检测出边缘点,这一过程为: 设原始图像输入为 f(x,y),h(x,y) 为高斯平滑函数,平滑滤波后的图像可以表示原图像与平滑函数的卷积(11)( , )( , )( , )g x yf x yh x y然后在计算平滑后图像的梯度(12)由卷积运算特性,有(13)( , )( , )( , )( , )( , )g x yf x yh x yf x yh x y所以,canny 边缘检测的过程可以直接采用原始图像与平滑滤波脉冲响应一阶微分的卷积运算来实现常用的平滑滤波为高斯函数,可以将作为一个算子,称为一阶微分高斯算子,( ,

31、)h x y因此,canny 边缘算子是高斯函数的一阶导数。下图 5*5canny 算子模板xy( , )ggxg x yggygx= gy=图像经过高斯平滑后边缘变得模糊,因此,由计算梯度得到的边缘就具有一定的宽度。具有这种宽边缘变细的方法,叫作非极大点的抑制。这种方法是在垂直于边缘的方向上互相比较邻接像素的梯度幅值,并出去具有比领域处小的梯度幅值。根据这一操作,梯度幅值的非极大点背出去,边缘也就变细了。当然,非极大点抑制图像仍会包含许多有噪声和细纹引起的假边缘,假边缘可以通过双阈值t1 和 t2,且 t22t1,得到两个双阈值边缘图像 g1i,j和 g2i,j。由于图像 g2i,j是双高阈

32、值得到的,因此它含有较少的假边缘,但可能在轮廓上有间断。双阈值算法在 g2i,j中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在 g1i,j的 8 邻点位置寻找可以接到轮廓上的边缘。这样,算法将不断地在 g1i,j中收集边缘,直到将 g2i,j中所有的间隙连接起来为止。所以,归纳上述过程,canny 边缘算子可概括如下:用高斯滤波平滑图像。用一阶偏导的有限差分来计算梯度的幅值和方向。对梯度幅值进行非极大值抑制。用双阈值算法检测和连接边缘。0.03660.08210-0.0821-0.03660.16420.36790-0.3679-0.16420.27070.60650-0.6065-0.2

33、7070.16420.36790-0.3679-0.16420.03660.08210-0.0821-0.03660.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.0366(7) susan(smallest univaluesegment assimilating nucleus)算子算子经典的边缘检测方法如:roberts,sobel,prewitt, ,laplace 等方法,

34、基本都是对原始图像中象素的小邻域构造边缘检测算子,进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阀值提取边界。由于这些算法涉及梯度的运算,因此均存在对噪声敏感、计算量大等缺点。在实践中,发现 susan 算法只基于对周边象素的灰度比较,完全不涉及梯度的运算,因此其抗噪声能力很强,运算量也比较小。并将 susan 算法用于多类图像的边缘检测中,实验证明该算法非常适合含噪图像的边缘检测。图(4) susan 特征检测原理susan 特征检测原理:如图上图所示,用一个圆形模板在图像上移动,若模板内象素的灰度与模板中心象素(称为:核 nucleus) 灰度的差值小于一定阀

35、值,则认为该点与核具有相同(或相近) 的灰度,由满足这样条件的象素组成的区域称为 usan(univalue segment assimilating nucleus) 。当圆形模板完全处在图像或背景中时,usan 区域面积最大(如图中的 a 和 b) ;当模板移向图像边缘时,usan 区域逐渐变小(如图 1 中 c) ;当模板中心处于边缘时,usan 区域很小(如图 1 中的 d) ; 当模板中心处于角点时,usan 区域最小(如图中的 e) 。可以看出,在边缘处象素的 usan 值都小于或等于其最大值的一半。因此,计算图像中每一个象素的usan 值,通过设定一个 usan 阀值,查找小于阀

36、值的象素点,即可确定为边缘点。对整幅图像中的所有象素,用圆形模板进行扫描,比较模板内每一象素与中心象素的灰度值,通过与给定的阀值比较,来判别该象素是否属于 usan 区域,如下式:c( r , r0 )= (15)式中 c( r , r0 )为模板内属于 usan 区域的象素的判别函数; i(r0)是模板中心象素(核) 的灰度值; i(r)为模板内其他任意象素的灰度值;t 是灰度差门限。图像中每一点的 usan 区域大小可用下式表示: 1 if | i ( r) - i ( r0 ) | t(16)(2)式中 d(r0)为以 r0 为中心的圆形模板区域。得到每个象素的 usan 值 n(r0)

37、以后,再与预先设定得门限 g 进行比较,当 n(r0)t时,可认为该点是边缘点,然后再打印边缘点,可得到图像的边缘图像(程序代码见附录)。以下是canny检测边缘的效果图原始图像效果图图(5) canny 算法实现对比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.03660.03660.16420.27070.16420.03660.08210.36790.6065-0.36790

38、.082100000-0.0821-0.3679-0.6065-0.3679-0.0821-0.0366-0.1642-0.2707-0.1642-0.0366结果比较:结果比较:prewitt算子和sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图象边缘可能大于2个像素。这两者对灰度渐变低噪声的图象有较好的检测效果,但是对于混合多复杂噪声的图象,处理效果就不理想了。log滤波器方法通过检测二阶导数过零点来判断边缘点。log滤波器中的正比于低通滤波器的宽度,越大,平滑作用越显著,去除噪声越好,但图象的细节也损失越大,边缘精度也就越低。所以在边缘定位精度和消除噪声级

39、间存在着矛盾,应该根据具体问题对噪声水平和边缘点定位精度要求适当选取。而且log方法没有解决如何组织不同尺度滤波器输出的边缘图为单一的、正确的边缘图的具体方法。canny方法则以一阶导数为基础来判断边缘点。它是一阶传统微分中检测阶跃型边缘效果最好的算子之一。它比sobel算子和prewitt算子极小值算法的去噪能力都要强,但它也容易平滑掉一些边缘信息。而对于susan 边缘检测算法,则是直接利用图像灰度相似性的比较,而不需计算梯度,具有算法简单、定位准确、抗噪声能力强等特点。因此,非常适于含噪图像或低对比度灰度图像的边缘检测。如果进一步减小门限g 的数值,susan算法还可以用于角点的检测。结

40、结 论:论:讨论和比较了几种常用的边缘检测算子。sobel边缘算子和prewitt边缘算子的偏导数形式完全一样只是sobel算子把重点放在接近于模板中心的像素点。拉普拉斯算子的特点是:各向同性、线性和位移不变的;对细线和孤立点检测效果好。但边缘方向信息丢失,常产生双像素的边缘,对噪声有双倍加强作用。log算子是在拉普拉斯算子的基础上实现的具有一定的抗噪声能力,canny算子则以一阶导数为基础来判断边缘点。它是一阶传统微分中检测阶跃型边缘效果最好的算子之一,log滤波器和canny算子能够检测出图象较细的边缘部分。susan算子与其他算子比较具有边缘检测效果好、抗噪声能力好、算法使用灵活、运算量

41、小、可以检测边缘的方向信息,不同的系统,针对不同的环境条件和要求,选择合适的算子来对图象进行边缘检测。致谢:致谢:本课题在整个完成过程中得到孔敏老师的悉心指导。*老师平日里工作繁忙,但在我们做毕业设计时的每个阶段,他都悉心指导我们。正是由于老师的细心指导和不懈支持,我的毕业设计才能顺利完成。孔老师的治学态度和务实的工作作风深深的感染了我。再次毕业之际,谨向孔老师表示诚挚的感谢和深深的问候。另外,我要感谢我系的各位领导为我们提供了良好的学习和生活条件。感谢所有关心和帮助过我的人,我将在以后的学习和工作中更加努力。相信自己,明天会更加美好!参考文献参考文献:1 高月红.灰度图像分割算法的研究.科技

42、信息.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

43、.1997.5 郑静 梁少华 王腾.基于matlab仿真的边缘检测算子研究.电脑知识与技术年.2010, 6(5)6 左飞.数字图像处理原理与实践:基于visualc+开发.电子工业出版社.20117张广军. 机器视觉 北京:科学出版社20058rafael c.gonzalez,richard e.woods 著,阮秋琦 阮宇智 等译.数字图像处理(第二版)北京:电子工业出版社,2003附件:附件:cannypic 类:类:class cannypic public static void main(string args) new cannypicframe();canedypicfram

44、e 类:类:import javax.swing.*;import java.awt.event.*;class cannypicframe extends jframecannypicpanel wpp=new cannypicpanel();cannypicframe()add(wpp);settitle(基于边缘检测的图像分割-canny 算子实现);setbounds(10,10,1024,700);setvisible(true);addwindowlistener(new handlewin();/cannypicframeclass handlewin extends windo

45、wadapterpublic void windowclosing(windowevent e)system.exit(0);cannypicpanel 类:类:import javax.swing.*;import java.awt.*;import java.applet.*;import java.awt.image.*;import java.io.*;import java.awt.event.*;class cannypicpanel extends jpanelint w,h;string pic_url=system.getproperty(user.dir)+13.jpg;m

46、ycanvas canvas=new mycanvas(pic_url);/d:图片转换成 word13.jpgjscrollpane jsp=new jscrollpane(canvas);cannypicpanel()setlayout(new borderlayout();add(jsp);system.out.println(pic_url);mycanvas 类:类:class mycanvas extends canvaspixelcontrl pc;image imagtest;mycanvas(string url)pc=new pixelcontrl(new myimage(

47、url);imagtest=createimage(new memoryimagesource(pc.imagew,pc.imageh,pc.canny_pix, 0,pc.imagew);setsize(pc.imagew,pc.imageh);/setsize(500,500);/重画函数public void paint(graphics g)g.drawimage(imagtest,0,0,this);myimage 类:类:class myimage extends appletimage myimage;int height;int width;mediatracker track

48、er;myimage(string url)tracker=new mediatracker(this);myimage=toolkit.getdefaulttoolkit().getimage(url);tracker.addimage(myimage,0);trytracker.waitforid(0);catch (interruptedexception ex)this.height=myimage.getheight(this);this.width=myimage.getwidth(this);pixelcontrl 类:类:class pixelcontrlmyimage myi

49、mage;int imagew;int imageh;int imagepix;int canny_pix;double gx=0.0366,0.0821,0,-0.0821,-0.0366, 0.1642,0.3679,0,-0.3679,-0.1642, 0.2707,0.6065,0,-0.6065,-0.2707, 0.1642,0.3679,0,-0.6065,-0.2707, 0.0366,0.0821,0,-0.0821,-0.0366;double gy=0.0366,0.1642,0.2707,0.16421,0.03666, 0.0821,0.3679,0.6065,0.3

50、6799,0.0821,0,0,0,0,0, -0.0821,-0.3679,-0.6065,-0.3679,-0.0821, -0.0366,-0.1642,-0.2707,-0.1642,-0.0366;pixelcontrl(myimage myimage)this.myimage=myimage;imagew=myimage.width;imageh=myimage.height;imagepix=new intimagew*imageh;canny_pix=new intimagew*imageh;pixelgrabber pg=new pixelgrabber(myimage.my

51、image,0,0,myimage.width,myimage.height,imagepix,0,myimage.width);trypg.grabpixels();catch (interruptedexception e)system.out.println(imagew);for(int i=0;iimagew;i+)for (int j=0;jimageh;j+)if(i2|jimagew-3|jimageh-3)canny_pixj*imagew+i=0 xff000000;else/getpixels(i,j);canny_pixj*imagew+i=canny_operator

52、(i,j,gx,gy,125)?0 xffffffff:0 xff000000;/for (int j=2;jimageh-2;j+)/for(int i=2;irange?true:false;public double convolution(int x,int y,double c)/做卷积double r=0;for(int i=0;i5;i+)for (int j=0;j5;j+)r+=getgray(getpixels(x-(2-i),y-(2-i)*cj*5+i;/for (int j=0;j5;j+)/for(int i=0;i16);double g1=math.exp(2.2*math.log(0 xff&(pixle8);double b1=math.exp(2.2*math.log(0 xff&(pixle);double rgb1=r1*0.2973+g1*0.6274+b1*0.0753;return math.exp(1/2.2)*mat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论