预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一种基于Canny算子的图像分割李得源iamlideyuan@sina.com摘要在图像边缘检测中往往要求所检测到的边缘具有封闭特性本文详细地分析了目前常用的三种:Sobel边缘检测哈夫变换和Canny边缘检测算法并且探讨边缘算子应满足的准则。最后得出Sobel边缘检测和Canny边缘检测结果的区别。关键词边缘检测;Sobel;哈夫变换;Canny算子1引言图像的边缘是指图像局部区域亮度变化显著的部分该区域的灰度剖面一般可以看作是一个阶跃即从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图像的边缘部分集中了图像的大部分信息图像边缘的确定与提取对于整个图像场景的识别与理解是非常重要的同时也是图像分割所依赖的重要特征边缘检测主要是图像的灰度变化的度量、检测和定位。边缘检测自从1959提出以来经过五十多年的发展已有许多中不同的边缘检测方法。其中比较常用的是Laplace算子和Sobel算子其中的Sobel算子往往会形成不闭合的区域。本文主要讨论了在边缘检测中一种可以获得封闭区域的算法即基于Canny算子的算法。2图像边缘检测的基本步骤(1)滤波。边缘检测主要基于导数计算但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。(2)增强。增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。(3)检测。但在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。(4)定位。精确确定边缘的位置。平滑图像原始图像边缘的二值化图像阈值分割平滑图像图像滤波边缘定位边缘检测边缘增强制度算子图1边缘检测算法的基本步骤3边缘算子应满足的准则信噪比准则SNR(f)=-wwG-xf(x)dxno-wwf2(x)dx1/2定位精度准则Localization=-wwG'-xf'(x)dxno-wwf'2(x)dx1/2其中G’(-x)f’(x)分别是G(x)f(x)的一阶导数单边缘响应准则要求f对噪声的响应中两个相邻最大值间距离为xmax(f)f的零交叉点平均距离为xzc两者关系是:xmax(f)=2xzc-kw其中k小于1的系数xzc=π-∞+∞f'2xdx-∞+∞f'xdx12若满足此准则就能保证单边缘只有一个响应。对一个算法的性能评价可分为两个阶段进行:计算假边缘与丢失边缘的数目;测量用于估计位置和方向的误差(或误差分布)。边缘检测算法的优劣也可用品质因数(FigureofMerit)来描述。Pratt品质因数是其中一种它着重考虑了丢失了有效的边缘、边缘定位误差和将噪声判断为边缘等三种误差。FM=1maxIAIIi=1IA11+adi2其中IAIidi和α分别是检测到的边缘、理想边缘、实际边缘与理想边缘间的距离和用于惩罚错位边缘的设计常数。4边界闭合的算法4.1哈夫变换[3]由于噪声的存在用各种算子得到的边缘象素不连续但是由于边缘象素之间有一定的连续性我们就可以根据边缘象素在梯度幅度或梯度方向上的连续性把他们连接起来。具体说来如果象素(st)在象素(xy)的领域且它们的梯度幅度与梯度方向在给定的阈值下满足:T是幅度阈值;A是角度阈值;那么如对所有的边缘象素都进行上述的判断和连接就可以得到一个闭合的边界。哈夫变换方法是利用图像得全局特性而对目标轮廓进行直接检测的方法在已知区域形状的条件下哈夫变换可以准确地捕获到目标的边界(连续的获不连续的)并最终以连续曲线的形式输出变换结果该变换可以从强噪声环境中将已知形状的目标准确得分割提取出来。哈夫变换的核心思想是:点—线的对偶性(duality)。通过变换将图像从图像控件转换到参数空间在图像空间中一条过点(xy)的直线方程为y=px+q通过代数变换可以转换为另一种形式p=-px+y即参数空间中过点(pq)的一条直线如果在图像空间中保持直线的斜率和截距的不变其在参数空间必定过点(pq)这也就说明在图像空间中共线的点对应参数空间共点的线.哈夫变换就是根据上述点—线的对偶性把在图像空间中存在的直线检测问题转换为参数空间中存在的点检测问题后者的处理要比前者简单易行得多只需简单地累加统计即可实现对边缘的检测.哈夫变换不仅能检测直线等一阶曲线的目标对于园、椭圆等高阶的曲线都可以检测出来。如圆的方程为:(x-a)2+(x-b)2=r2其参数空间是一个3D空间A(abr)原理与检测直线上的点相同只是复杂性增加了。如果圆的半径r己知则问题又回到了2D空间A(ab)。哈夫变换对已知目标的检测过程受随机噪声和曲线中断等不利因素的影响很小而且分割出的目标是直接放到另一个“干净”的缓存中的因此可以做到零噪声是相当有优势的。常规的哈夫变换在理论上能对所有可以写出具体解析表达式的曲线进行目标检测但是在实际处理时经常待检测的目标不规则或是很难获