软件平滑处理c语⾔算法,c语⾔实现canndy算法.doc
图象边缘检测中边界闭合性的分析与探讨
摘?? 要 在图象边缘检测中往往要求所检测到的边缘具有封闭特性,本⽂详细地分析了⽬前常⽤的两种算法:哈夫变换和Canny边缘检测算法,最后,探讨边缘算⼦应满⾜的准则。关键词 边缘检测;闭合性;哈夫变换;Canny算⼦
?
1引⾔
??????图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖⾯⼀般可以看作是⼀个阶跃,既从⼀个灰度值在很⼩的缓冲区域内急剧变化到另⼀个灰度相差较⼤的灰度值。图象的边缘部分集中了图象的⼤部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是⾮常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位,⾃从1959提出边缘检测以来,经过五⼗多年的发展,已有许多中不同的边缘检测⽅法。在我们常⽤的⼏种⽤于边缘检测的算⼦中Laplace算⼦常常会产⽣双边界;⽽其他⼀些算⼦如Sobel算⼦⼜往往会形成不闭合区域。本⽂主要讨论了在边缘检测中,获取封闭边界区域的算法。
2 图象边缘检测的基本步骤
???? (1)滤波。边缘检测主要基于导数计算,但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。
???? (2)增强。增强算法将邻域中灰度有显著变化的点突出显⽰。⼀般通过计算梯度幅值完成。
???? (3)检测。但在有些图象中梯度幅值较⼤的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。
???? (4)定位。精确确定边缘的位置。
?
图1 边缘检测算法的基本步骤
3 边界闭合的算法
编写c语言的软件3.1 哈夫变换[3]
????? 由于噪声的存在,⽤各种算⼦得到的边缘象素不连续,但是由于边缘象素之间有⼀定的连续性,
我们就可以根据边缘象素在梯度幅度或梯度⽅向上的连续性把他们连接起来。具体说来,如果象素(s,t)在象素(x,y)的领域且它们的梯度幅度与梯度⽅向在给定的阈值下满⾜:
?
?
T是幅度阈值;A是⾓度阈值;
???? ?那么,如对所有的边缘象素都进⾏上述的判断和连接就可以得到⼀个闭合的边界。
哈夫变换⽅法是利⽤图像得全局特性⽽对⽬标轮廓进⾏直接检测的⽅法,在已知区域形状的条件下,哈夫变换可以准确地捕获到⽬标的边界(连续的或不连续的),并最终以连续曲线的形式输出变换结果,该变换可以从强噪声环境中将已知形状的⽬标准确得分割提取出来。
???? 哈夫变换的核⼼思想是: 点—线的对偶性(duality)。通过变换将图象从图像控件转换到参数空间,在图像空间中⼀条过点(x,y)的直线⽅程为y=px+q,通过代数变换可以转换为另⼀种形式p=-px+y,即参数空间中过点(p,q)的⼀条直线,如果在图像空间中保持直线的斜率和截距的不变,其在参数空间必定过点(p,q),这也就说明,在图像空间中共线的点对应参数空间共点的线. 哈夫变换就是根据上述点—线的对偶性把在图象空间中存在的直线检测问题转换为参数空间中存在的点检测问题,后者的处理要⽐前者
简单易⾏得多,只需简单地累加统计即可实现对边缘的检测.
哈夫变换不仅能检测直线等⼀阶曲线的⽬标,对于园、椭圆等⾼阶的曲线都可以检测出来。如圆的⽅程为:
??? ?其参数空间是⼀个3D空间A(a,b,r),原理与检测直线上的点相同,只是复杂性增加了。如果圆的半径r⼰知,则问题⼜回到了2D 空间A(a,b)
???? 哈夫变换对已知⽬标的检测过程受随机噪声和曲线中断等不利因素的影响很⼩,⽽且分割出的⽬标是直接放到另⼀个“⼲净”的缓存中的,因此可以做到零噪声,是相当有优势的。常规的哈夫变换在理论上能对所有可以写出具体解析表达式的曲线进⾏⽬标检测,但是在实际处理时,经常待检测的⽬标不规则或是很难获取甚⾄根本没有解析式,此时就要采取⼴义上的哈夫变换来检测⽬标,
3.2最优的阶梯型边缘检测算法(canny边缘检测)
???? 1.Canny边缘检测基本原理
???? (1)图象边缘检测必须满⾜两个条件:⼀能有效地抑制噪声;⼆必须尽量精确确定边缘的位置。
???? (2)根据对信噪⽐与定位乘积进⾏测度,得到最优化逼近算⼦。这就是Canny边缘检测算⼦。
???? (3)类似与Marr(LoG)边缘检测⽅法,也属于先平滑后求导数的⽅法。
???? 2.Canny边缘检测算法:
???? step1:⽤⾼斯滤波器平滑图象;
???? step2:⽤⼀阶偏导的有限差分来计算梯度的幅值和⽅向;
???? step3:对梯度幅值进⾏⾮极⼤值抑制;
???? step4:⽤双阈值算法检测和连接边缘。
???? step1:⾼斯平滑函数
?
????? step3:⾮极⼤值抑制
????? 仅仅得到全局的梯度并不⾜以确定边缘,因此为确定边缘,必须保留局部梯度最⼤的点,⽽抑制⾮极⼤值。(non-maxima suppression,N
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论