1、1课 程 设 计资 料 袋理学院 学院(系、部) 2013-2014 学年第 2 学期 课程名称 数字图像处理 指导教师 职称 讲师 学生姓名 专业班级 信计 1102 学号 题 目 经典边缘检测算子比较 成 绩 起止日期 2014 年 6 月 16 日 2014 年 6 月 20 日目 录 清 单序号 材 料 名 称 资料数量 备 注1 课程设计任务书 12 课程设计说明书 13 源程序(电子文档) 145课程设计任务书2013-2014 学年第 2 学期2理学院 学院(系、部) 信息与计算科学 专业 1102 班级课程名称: 数字图像处理 设计题目: 经典边缘检测算子比较 完成期限:自 2
2、014 年 6 月 16 日至 2014 年 6 月 20 日共 1 周内容及任务将几种经典边缘算子进行比较,编写出相应的程序。起止日期 工作内容2014.6.162014.6.16 选择题目,查阅资料。2014.6.172014.6.19 利用 matlab 软件编写相应的程序,并尝试改进已有的算法。2014.6.202014.6.20 整理相关的结果,书写课程设计报告。进度安排主要参考资料1 Rafael C.Gonzalez、Richard E.Woods.冈萨雷斯.数字图像处理(第二版)电子工业出版社2 陈传波、金先级.数字图像处理.北京:机械工业出版社,2004.73 Kenneth
3、 R.Castleman 著;朱志刚、石定机等译.数字图像处理.北京:电子工业出版社,2002.24 陈天华.数字图像处理.北京:清华大学出版社,2007.65 曹茂永.数字图像处理.北京:北京大学出版社,2007.96 龚声蓉、刘纯平、王强等编著.数字图像处理与分析.北京:清华大学出版社指 导 教 师 (签字): 年 月 日系 ( 教 研 室 ) 主 任 ( 签字): 年 月 日3数 值 分 析 课 程 设 计 说 明 书经典边缘检测算子比较起止日期: 2014 年 6 月 16 日 至 2014 年 6 月 20 日学 生 姓 名班 级信 息 与 计 算 科 学 1102班学 号 成 绩指
4、 导 教 师 (签 字 )理学院2014 年 6 月 20 日4目 录摘要 .5关键字 .5引言 .51各种经典边缘检测算子原理简介 .51.1 Roberts(罗伯特)边缘检测算子 .61.2 Sobel(索贝尔)边缘检测算子 .71.3 Prewitt(普瑞维特)边缘检测算子 .71.4 Laplacian(拉普拉斯)边缘检测算子 .81.5 Marr-Hildreth(马尔)边缘检测算子 .91.6 canny(凯尼)边缘检测算子 .102. 各种经典边缘检测算子性能比较 .122.1 MATLAB 程序仿真 .122.2 实验效果比较 .153. 结论 .16参考文献: .17附录 .
5、185经典边缘检测算子比较摘要:图像边缘检测技术是图像分割、目标识别、区域形态提取等图像分析领域中十分重要的基础。本文简要介绍各种经典图像边缘检测算子的基本原理,用 Matlab 仿真实验结果表明各种算子的特点及对噪声的敏感度,为学习和寻找更好的边缘检测方法提供参考价值。关键字:图像处理;边缘检测;算子;比较引言图像的边缘时图像最基本的特征之一。所谓边缘(或边沿)是指周围像素灰度有阶跃性变化或“屋顶”变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,因此它是图像分割依赖的重要特征。图像边缘对图像识别和计算机分析十分有用,边缘能勾划出目标物体,使观察者一目了然;
6、边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等)。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反应,它标志着一个区域的终结和另一个区域的开始。边缘检测技术是所有基于边界分割的图像分析方法的第一步,首先检测出图像局部特性的不连续性,再将它们连成边界,这些边界把图像分成不同的区域,检测出边缘的图像就可以进行特征提取和形状分析。为了得到较好的边缘效果,现在已经有了很多的边缘检测算法以及一些边缘检测算子的改进算法。但各算子有自己的优缺点和适用领域。本文着重对一些经典边缘检测算子进行理论分析、实际验证并对各自性能特点做出比较和评价,以便实际应用中更好地发挥其长处
7、,为新方法的研究提供衡量尺度和改进依据。1各种经典边缘检测算子原理简介图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,6也是另一个区域的开始,利用该特征可以分割图像。需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地方不一定能被检测出来,而检测出的边缘也不一定代表实际边缘。图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素
8、变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。(a)图像灰度变化 (b)一阶导数 (c)二阶导数基于一阶导数的边缘检测算子包括 Roberts 算子、Sobel 算子、Prewitt 算子等,在算法实现过程中,通过 (Roberts 算子)或者 模板作为核与图像中的每个像素点做卷23积和运算,然后选取合适的阈值以提取边缘。拉普拉斯边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。一种改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是 LOG
9、 算子。前边介绍的边缘检测算子法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数的过零点。Canny 算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。1.1 Roberts(罗伯特)边缘检测算子景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法” 。设 是图像灰度分布函数; 是图像边缘的梯度值; 是梯度的方(,)fxy(,)sxy(,)xy向。则有 12 2(,) (,)sfnffxynf(1)(n=1,2,.)
10、1(,)ta(,)(,)/(,)(,)xyfxyfffxy(2)式(1)与式(2)可以得到图像在(x,y)点处的梯度大小和梯度方向。将式(1)改写为:12 2(,)(,)(1,)(1,)(,)gxyfxyfyfxyfx(3)称为 Roberts 边缘检测算子。式中对 等的平方根运算使该处理类似于人, ,f类视觉系统的发生过程。事实上 Roberts 边缘检测算子是一种利用局部差分方法寻找边缘的算子,Robert 梯度算子所采用的是对角方向相邻两像素值之差,所以用差分代替一阶偏导,算子形式可表示如下:7(4)(,)(,)(1,)xyffxyfyx上述算子对应的两个 模板如图(A)所示。实际应用中
11、,图像中的每个像素点都用这2两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取其绝对值。(a) (b)图(A)Robert 算子模板1.2 Sobel(索贝尔)边缘检测算子该算子是由两个卷积核 与 对原图像 进行卷积运算而得到的。1(,)gxy2(,)(,)fxy其数学表达式为:(5)1 21 1(,)(,),)(,),)MNMNmn mnSxyAXfijfgimjn 实际上 Sobel 边缘算子所采用的算法是先进行加权平均,然后进行微分运算,我们可以用差分代替一阶偏导,算子的计算方法如下: (,)(,)2(,)(,)(,1)(,)(1,)1112xyffxyfxyfyfxyfxyfy(
12、6)Sobel 算子垂直方向和水平方向的模板如图( B)所示,前者可以检测出图像中的水平方向的边缘,后者则可以检测图像中垂直方向的边缘。实际应用中,图像中的每一个像素点都用这两个卷积核进行卷积运算,取其最大值作为输出。运算结果是一幅体现边缘幅度的图像。(a) (b)图(B)Sobel 算子模板1.3 Prewitt(普瑞维特)边缘检测算子Prewitt 边缘检测算子就是一种利用局部差分平均方法寻找边缘的算子,它体现了三对像素点像素值之差的平均概念,因为平均能减少或消除噪声,为此我们可以先求平均,再求差分,即利用所谓的平均差分来求梯度。用差分代替一阶偏导可得算子形式如下:1 00 -10 1-1
13、 0-1 -2 -10 0 01 2 1-1 0 1-2 0 2-3 0 18 (,)(1,)(,1)(,1)(,1)(,)(1,)xyffxyfxfyfxyfxfy(7)Prewitt 边缘检测算子的两个模板如图(C)所示,它的使用方法同 Sobel 算子一样,图像中的每个点都用这两个核进行卷积,取得最大值作为输出。Prewitt 算子也产生一幅边缘图像。(a) (b)图(C)Prewitt 算子模板1.4 Laplacian(拉普拉斯)边缘检测算子对于阶跃状边缘,其二阶导数在边缘点出现过零交叉,即边缘点两旁的二阶导数取异号,据此可以通过二阶导数来检测边缘点。拉普拉斯边缘检测算子正是对二维函
14、数进行二阶导数运算的标量算子,它的定义是:(8)222(,)(,)(,)fxyfxyfxy用差分代替二阶偏导时,与前述三个一阶导数算子不同,拉普拉斯算子的形式可表示如下: 2(,)(1,)(,)(,1)(,)4(,)1,8,fxyfffffxyyxyxyfxfff(9)拉普拉斯边缘检测算子的模板如图(D )所示,模板的基本特征是中心位置的系数为正,其余位置的系数为负,且模板的系数之和为零。它的使用方法是用图中的两个点阵之一作为卷积核,与原图像进行卷积运算即可。拉普拉斯算子又是一个线性的移不变算子,它的传递函数在频域空间的原点为零,因此,一个经拉普拉斯滤波过的图像具有零平均灰度。拉普拉斯检测模板
15、的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如梯度算子。因此,它很少直接用于边缘检测。但注意到与 Sobel 算子相比,对图像进行处理时,拉普拉斯算子能使噪声成分得到加强,对噪声更敏感。1 0 -11 0 -11 0 -1-1 -1 -10 0 01 1 10 -1 0-1 4 -19(a) (b)图(D)Laplacian 算子模板1.5 Marr-Hildreth(马尔)边缘检测算子实际应用中,由于噪声的影响,对噪声敏感的边缘检测点检测算法(如拉普拉斯算子法)可能会把噪声当边缘点检测出来,而真正的边缘点会被噪声淹没而未检测出。为此Marr 和
16、 Hildreth 提出了马尔算子,因为是基于高斯算子和拉普拉斯算子的,所以也称高斯-拉普拉斯(Laplacian of Gaussian,LoG)边缘检测算子,简称 LoG 算子。该方法是先采用高斯算子对原图像进行平滑又降低了噪声,孤立的噪声点和较小的结构组织将被滤除由于平滑会导致边缘的延展,因此在边缘检测时仅考虑那些具有局部最大值的点为边缘点,这一点可以用拉普拉斯算子将边缘点转换成零交叉点,然后通过零交叉点的检测来实现边缘检测。所谓零交叉点就是:如果一个像素处的值小于一 ,而此像素 8-连通的各个像素0都是大于 ( 是一个正数) ,那么这个像素就是零交叉点。这样还能克服拉普拉斯算子0对噪声
17、敏感的缺点,减少了噪声的影响。二维高斯函数为(10)2(,)()xyhxyep则连续函数 的 LoG 边缘检测算子定义为f2(,),Gxyf()*()xy(11),Hf(12)2224(,)()exp()rxyh其中 是标准差。算子 是一个轴对称函数,其横截面如图(E)所示。2,r,Hy由于它相当的平滑,能减少噪声的影响,所以当边缘模糊或噪声较大时,利用 检(,)Hxy测过零点能提供较可靠的边缘位置。H(x,y)r0 图(E)H(x,y)的截面图0 -1 0 -1 -1 -1-1 8 -1-1 -1 -110LoG 算子在(x,y)空间具有以原点为中心旋转的对称性,LoG 滤波器具有如下三个显
18、著特点: 该滤波器中的高斯函数部分对图像具有平滑作用,可有效地消除尺度远小于高斯分布因子 的噪声信号。 高斯函数在空域和频域内都具有平滑作用。 该滤波器采用拉普拉斯算子 可以减少计算量。2马尔算子用到的卷积模板一般比较大(典型半径为 8-32 个像素) ,不过这些模板可以分解为一维卷积来快速计算。常用的 LoG 算子是 模板,如图(F) 。与其他边缘检测算5子一样,LoG 算子也是先对边缘做出假设,然后再这个假设下寻找边缘像素。但 LoG 算子对边缘的假设条件最少,因此它的应用范围更广。另外,其他边缘检测算子检测得到的边缘时不连续的,不规则的,还需要连接这些边缘,而 LoG 算子的结果没有这个
19、缺点。对于LoG 算子边缘检测的结果可以通过高斯函数标准偏差 来进行调整。即 值越大,噪声滤波效果越好,但同时也丢失了重要的边缘信息,影响了边缘检测的性能; 值越小,又有可能平滑不完全而留有太多的噪声。因此,在不知道物体尺度和位置的情况下,很难准确确定滤波器的 值。一般来说,使用大 值的滤波器产生鲁棒边缘,小的 值的滤波器产生精确定位的边缘,两者结合,能够检测出图像的最佳边缘。数学上以证明,马尔算子是按零交叉检测阶跃状边缘的最佳算子。但在实际图像中要注意到,高斯滤波的零交叉点不一定全部是边缘点,还需要进一步对其真伪进行检验。图(F)LoG 算子是 模板51.6 canny(凯尼)边缘检测算子前
20、面介绍的边缘检测算子都是局域窗口梯度算子,由于它们对噪声敏感,所以在处理实际图像时效果并不是十分理想。根据边缘检测的有效性和定位的可靠性,Canny 研究了最优边缘检测器所需的特性,给出了评价边缘检测性能优劣的三个指标:1 高的准确性,在检测的结果里应尽量多的包含真正的边缘,而尽量少的包含假边缘。2 高的精确度,检测到的边缘应该在真正的边界上。3 单像素宽,要有很高的选择性,对每个边缘有唯一的响应。针对这三个指标,Canny 提出了用于边缘检测的一阶微分滤波器 的三个最优化标()hx准则,即最大信噪比准则、最优过零点定位准则和单边缘响应准则。具体如下:(a)信噪比准则(16)2()wGxhdSNR式中, 为边缘函数; 为带宽为 W 的低通滤波器的脉冲响应; 是高斯噪声的均()Gx() 方差。-2 -4 -4 -4 -2-4 0 8 0 -4-4 8 24 8 -4-4 0 8 0 -4-2 -4 -4 -4 -2