一种基于Canny算子的图像分割

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一种基于Canny算子的图像分割李得源iamlideyuan@sina.com摘要在图像边缘检测中往往要求所检测到的边缘具有封闭特性,本文详细地分析了目前常用的三种:Sobel边缘检测,哈夫变换和Canny边缘检测算法,并且探讨边缘算子应满足的准则。最后得出Sobel边缘检测和Canny边缘检测结果的区别。关键词边缘检测;Sobel;哈夫变换;Canny算子1引言图像的边缘是指图像局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,即从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图像的边缘部分集中了图像的大部分信息,图像边缘的确定与提取对于整个图像场景的识别与理解是非常重要的,同时也是图像分割所依赖的重要特征,边缘检测主要是图像的灰度变化的度量、检测和定位。边缘检测自从1959提出以来,经过五十多年的发展,已有许多中不同的边缘检测方法。其中比较常用的是Laplace算子和Sobel算子,其中的Sobel算子往往会形成不闭合的区域。本文主要讨论了在边缘检测中一种可以获得封闭区域的算法,即基于Canny算子的算法。2图像边缘检测的基本步骤(1)滤波。边缘检测主要基于导数计算,但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。(2)增强。增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。(3)检测。但在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。(4)定位。精确确定边缘的位置。图1边缘检测算法的基本步骤平滑图像原始图像边缘的二值化图像阈值分割平滑图像图像滤波边缘定位边缘检测边缘增强制度算子3边缘算子应满足的准则(1)信噪比准则SNR(f)=|∫()()|[∫()](2)定位精度准则Localization=|∫()()|[∫()]其中,G’(-x),f’(x)分别是G(x),f(x)的一阶导数(3)单边缘响应准则要求f对噪声的响应中两个相邻最大值间距离为xmax(f),f的零交叉点平均距离为xzc,两者关系是:xmax(f)=2xzc-kw其中k小于1的系数,xzc=[∫()∫()]若满足此准则,就能保证单边缘只有一个响应。对一个算法的性能评价可分为两个阶段进行:计算假边缘与丢失边缘的数目;测量用于估计位置和方向的误差(或误差分布)。边缘检测算法的优劣也可用品质因数(FigureofMerit)来描述。Pratt品质因数是其中一种,它着重考虑了丢失了有效的边缘、边缘定位误差和将噪声判断为边缘等三种误差。FM=()∑其中,IA,Ii,di和α分别是检测到的边缘、理想边缘、实际边缘与理想边缘间的距离和用于惩罚错位边缘的设计常数。4边界闭合的算法4.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)。哈夫变换对已知目标的检测过程受随机噪声和曲线中断等不利因素的影响很小,而且分割出的目标是直接放到另一个“干净”的缓存中的,因此可以做到零噪声,是相当有优势的。常规的哈夫变换在理论上能对所有可以写出具体解析表达式的曲线进行目标检测,但是在实际处理时,经常待检测的目标不规则或是很难获取甚至根本没有解析式,此时就要采取广义上的哈夫变换来检测目标。4.2最优的阶梯型边缘检测算法(canny边缘检测)1.Canny边缘检测基本原理(1)图像边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。2.Canny边缘检测算法:step1:高斯平滑函数由于高斯函数的傅立叶变换仍是高斯函数,因此高斯函数能构成一个在频域具有平滑性能的低通滤波器。可以通过在频域做乘积来实现高斯滤波。()()()()step2:一阶差分卷积模板:||||()()()()()()()√()()()()step3:非极大值抑制仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。(non-maximasuppression,NMS)解决方法:利用梯度的方向。图2非极大值抑制四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。即:[]([]ξ[])step4:阈值化减少假边缘段数量的典型方法是对N[i,j]使用一个阈值。将低于阈值的所有值赋零值。但问题是如何选取阈值?解决方法:双阈值算法。双阈值算法对非极大值抑制图像作用两个阈值τ1和τ2,且2τ1≈τ2,从而可以得到两个阈值边缘图像N1[i,j]和N2[i,j]。由于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[i,j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在N1[i,j]中收集边缘,直到将N2[i,j]连接起来为止。5实验对实验图像分别进行基于Sobel算子和Canny算子的边缘检测,原始图像如图3,经过基于Sobel算子的边缘检测图像见图4,经过基于Canny算子的边缘检测图像见图5。6实验结果分析图1.原始图像图2.用Sobel算子做边缘检测图3.用Canny算子做边缘检测从不同的处理方法得到的边缘来看,基于Canny算子边缘检测可以得到比基于Sobel算子边缘检测的图像获得更明显,更细致的边缘。基于Sobel算子的边缘检测得到的图像边缘并不十分明显,即它没有很好的将物体与背景区分开来。Canny边缘检测算子根据对信噪比与定位乘积进行测度,得到最优化逼近算子,因此它得到的边缘更加的清晰。但是基于Canny算子的边缘检测无法对噪声进行有效的处理,因此会产生很多没有意义的边缘,使实际的结果在被人眼直接识别的时候有一定的困难。因此,在不同的情况下应选择不同的算法以满足分割要求。参考文献:[1]陈建平,邱力为.基于像素组合的快速哈夫变换.计算机工程与应用COMPUTERENGINEERINGANDAPPLICATIONS2005年41卷22期[2]伦向敏.哈夫变换在直线特征识别中的应用.科技信息SCIENCE&TECHNOLOGYINFORMATION2008年第30期[3]苑玮琦,田莹,邹达.基于多尺度Canny算子的人耳几何特征提取与识别.光电子激光JournalofOptoelectronicsLaser2008年第11期第19卷[4]赵峙江,张田文,张志宏.一种新的基于PCNN的图像自动分割算法研究.电子学报ACTAELECTRONICASINICA2005年7月第7期

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功