《qdu内容格式参考.doc》由会员分享,可在线阅读,更多相关《qdu内容格式参考.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科课程设计报告题 目: 图像边缘检测方法的研究与实现学 院: 自动化工程学院 专业班级: 2008级电子信息工程3班 姓 名: 王丹丹 指导教师: 王汉萍、庄晓东 2011年 12 月 23摘 要:边缘检测是在图像的局部区域上针对像素点的一种运算,在计算机视觉、图像理解等应用中扮演着重要的角色,同时也是图象分析与模式识别的重要环节。因为图像的边缘包含了模式识别的有用信息,所以边缘检测是图像分析和模式识别中特征提取的主要手段,也使得边缘检测在计算机视觉的一些预处理算法中有着重要的地位。另外,随着科技日新月异的发展,边缘检测技术也逐渐运用到生产和生活中。因此,对边缘检测的研究也有很重要的实际应用
2、价值。本文介绍了边缘检测的一般步骤,对灰度图像的几种边缘检测算法,作简单的介绍。关键词:边缘检测;图像处理;边缘检测;Roberts算子;Sobel算子;Prewitt算子;Krisch算子;高斯-拉普拉斯算子;log 算子一 绪论边缘检测是图像处理中最常见的一种技术;图像与其他信息载体相比更生动更只管记录的信息量也更大,随着最近几年技术的发展对图像处理的需求越来越被凸显出来,边缘信息是图像的一种紧描述,是图像最基本的特征,因此边缘检测技术也就至关重要。所谓图像边缘(Edlge)是指图像局部特性的不连续性,例如,灰度级的突变,颜色的突变,纹理结构的突变等。边缘广泛存在于目标与目标、物体与背景、
3、区域与区域(含不同色彩)之间,它是图像分割所依赖的重要特征。由于边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就是利用了这个特点,对图像各个像素点进行微分或求二阶微分来确定边缘像素点。一阶微分图像的峰值处对应着图像的边缘点;二阶微分图像的过零点处对应着图像的边缘点。根据数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于图像的简单一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。为了克服一阶导数的缺点,我们定义图像的梯度为梯度算子,它是图像处理中最常用的一阶微分算法。图像梯度的最重要性质是梯度的方向是在图像灰度最大变化率上,它恰好可以反映出图像边缘上的灰度
4、变化二 图像的边缘检测与提取2.1 设计目的1. 了解什么是边缘检测、边缘检测算子如何分类2.编程实现各种边缘检测算子4.对添加噪声的图像进行边缘检测并考虑如何消除边缘检测对添加噪声的影响2.2 设计思路 通过查阅资料了解边缘检测的定义以及现阶段边缘检测算子有那些及其分类方法。通过对各种边缘检测算子的分析编写相关实现程序,对比各种边缘检测算子对添加的噪声的图像的效果,并于理论结合分析各种算子的优缺点、使用范围。通过对各种边缘检测算子的分析找到消除边缘检测对添加噪声的影响的方法。三 方案论证和分析 3.1 常用边缘检测算法及分类经典的边缘检测算法主要有微分法和最优算子法,微分法是通过利用经典的微
5、分算子检测图像的边缘,主要包括Roberts算子、Sobel算子、Prewitt算子、Kirsch算子和Laplacian算子等,最优算子法则是微分算子发展和优化,主要有LOG算子和Canny算子等。几种经典的算法速度比较如下表2.1所示. 表2.1 经典算子运算速度比较加法运算P乘法运算MRoberts算子3*N20Sobel算子11*N22*N2Prewitt算子11*N20Lapalacian算子4*N20 微分法的基本工具是微分算子,它是最原始、最基本的边缘检测算法,检测原理基于灰度图像边缘处的一阶导数有极值,二阶导数存在过零点。在对边缘求导时,需要对每个位置的像素进行计算,在实际检测
6、中常常用模板卷积的方法来近似计算。最优算子法是在微分算子法的基础上发展起来的边缘检测算子,根据信噪比求得边缘的最优滤波器,常见有LOG算子和Canny算子。3.2 边缘检测算法论证边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。3.2.1 Roberts边缘算子由于图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。 边缘的锐利程度由
7、图像灰度的梯度决定。梯度是一个向量,f指出灰度变化最快的方向和变化量。 (2.1.1)梯度大小由 (2.1.2)确定。而梯度方向则由 (2.1.3)确定。因此最简单的边缘检测算子是用图像的垂直和水平差分来逼近梯度算子: (2.1.4)因此当我们寻找边缘的时候,最简单的方法是对每一个像素计算出(2.1.4)的向量,然后求出它的绝对值。利用这种思想就得到了Roberts算子: (2.1.5)其中f(x,y)是具有整数像素坐标的输入图像。3.2.2 Sobel边缘算子和Prewitt边缘算子对数字图像(i,j)的每个像素,考察它上、下、左、右邻点灰度的加权差,与之接近的邻点的权大。据此.定义Sobe
8、l算子如下: |+|(+2+)-(+2+)|+|(i-1,j-1)+2(i,j-1)+(i+1.j-1)-(i-1,j+1)+2(i,j+1)+(i+1.j+1)|其卷积算子 , 图1-4 Sobel边缘检测算子方向模板适当取门限TH,作如下判断: TH, (i, j)为阶跃状边缘点, 为边缘图像。 Sobel算子利用像素点上下、左右邻点的灰度加权算法,根据在边缘点处达到极值这一现象进行边缘的检测。Sobel算子对噪声具有平滑作用,提供较为精确的边缘方向信息,但它同时也会检测出许多的伪边缘,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。Prewitt算子是一种边缘样
9、板算子。这些算子样板由理想的边缘子图像构成。依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值(i,j),这样可将边缘像素检测出来。定义Prewitt边缘检测算子模板如下: (a)方向1 (b)方向2 (c)方向3 (d)方向4 (e)方向5 (f)方向6 (g)方向7 (h)方向88个算子样板对应的边缘方向如下图所示:适当取门限TH,作如下判断: (i,j) TH, (i, j)为阶跃状边缘点。 (i,j)为边缘图像。 3.2.3 Krisch边缘检测 Kirsch算子由8个33窗口模扳组成、每个模板分别代表一个特定的检测方向,其模板算子如图2.3.
10、1所示。 在进行边缘检测时,把M0-M7所表示的边缘模板(加权矩阵)分别与图像中的一个33区域相乘,选取输出值为最大的模板。然后,把这一最大输出值作为中央像素点上的边缘强度,把取得最大值的边缘模板Mk的方向k(k的取值如图2.3.2所示)作为其边缘方向。假设图像中一点P(i,j)及其八邻域的灰度如图3.3.3所示,并设Qk(k0,1,7)为图像经过kirsch算子第k个模板处理后得到的k方向上的边缘强度,则P(i,j)的边缘强度为s(i,j)=max|qk|(k=0,1,7),而相应的边缘方向D(i,j)=k|qk为最大值 图2.3.1 图2.3.2 图2.3.33.2.4 高斯-拉普拉斯边缘
11、检测算子拉普拉斯(LaPIacian)算子是不依赖于边缘方向的二阶微分算子它是一个标量而不是向量,具有旋转不变即各向同性的性质,在图像处理中经常被用来提取图像的边缘。其表示式为: (2.4.1)在数字图像情况下的近似式为 =f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) (2.4.2)由于噪声点对边缘检测有一定的影响,所以高斯拉普拉斯算子是效果比较好的边缘检测算子。它把高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,在进行边沿检测,所以效果好。常用的高斯拉普拉斯算子是55的模板: (2.4.3)3.2.5 Log边缘算子Log(Laplacian of G
12、assian )算法是利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以在边缘增强前滤除噪声。该算法的主要思路和步骤如下:(1)滤波:首先对图像f(x,y)进行平滑滤波,其滤波函数根据人类视觉特性选为高斯函数,即: 其中,G(x,y)是一个圆对称函数,其平滑的作用是可通过来控制的。将图像与进行卷积,可以得到一个平滑的图像,即:(2)增强:对平滑图像进行拉普拉斯运算,即:(3)检测:边缘检测判据是二阶导数的零交叉点(即 的点)并对应一阶导数的较大峰值。 这种方法的特点是图像首先与高斯滤波器进行卷积,这样既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除。但是由于平滑会
13、造成图像边缘的延伸,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点。这一点可以用二阶导数的零交叉点来实现。拉普拉斯函数用二维二阶导数的近似,是因为它是一种无方向算子。在实际应用中为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点。这样就有两种方法求图像边缘: 先求图像与高斯滤波器的卷积,再求卷积的拉普拉斯的变换,然后再进行过零判断。求高斯滤波器的拉普拉斯的变换,再求与图像的卷积,然后再进行过零判断。拉普拉斯算子对图像中的嗓声相当敏感。而且它常产生双像素宽的边缘,也不能提供边缘方向的信息。高斯-拉普拉斯算子是效果较好的边沿检测器,常用的55模板的高斯-拉普拉斯算子如
14、图2.7所示:00-100-1-20-1-216-10-1-2000-10-2-4-4-2-408-4-482-4-408-4-2-4-4-2图2.7 高斯拉普拉斯算子高斯-拉普拉斯算子把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平化掉噪声,再进行边缘检测,所以效果更好。3.3 边缘检测的步骤边缘检测分为彩色图像边缘检测和灰度图像边缘检测两种,由于彩色图像有八种彩色基,在边缘检测时选用不同的彩色基将直接影响实时性、兼容性和检测效果,因此本文只限于灰度图像的边缘检测研究,其步骤如图2.1所示。图像获取彩色图像变为灰度图低通滤波边缘提取边缘定位边缘链接边缘输出断边、伪边处理图2.1 边缘检测步
15、骤其中边缘定位是对边缘图像进行处理,以得到单像素宽的二值边缘图像,通常使用的技术是阈值法和零交叉法。边缘定位后往往存在一些小的边缘片断,通常是由于噪声等因素引起的,为了形成有意义的边缘需要对定位后的边缘进行链接。通常有两种算法:局部边缘链接和全局边缘链接。四 几种算子处理结果对比分析为了更好的比较各个算子在现实中的区别和适用范围,在本文中我用了两幅原始图像,一幅是噪声比较大的图像,另一幅是噪声比较小的图像。实验结果如下: 图4.1噪声比较小的原始图形 图4.1.1Roberts边缘检测处理 图4.1.2 Sobel边缘检测算子处理 图4.1.3Prewitt边缘算子处理 图4.1.4Krisc
16、h边缘检测算子处理 图4.1.5高斯-拉普拉斯边缘检测算子处理 图4.2 噪声比较大的原始图形 图4.2.1Roberts边缘检测处理 图4.2.2Sobel边缘检测算子 图4.2.3 Prewitt边缘算子 图4.2.4 Krisch边缘检测算子处理 图4.2.5高斯-拉普拉斯边缘检测算子处理从Robert算子对图像处理的效果来看Robert边缘检测算子对具有陡峭的低噪声图像处理效果比较好。对于非陡峭和高噪声的图像处理并不理想。我们看到图4.1.2,图4.1.3,图4.2.2,图4.2.3它们的边缘并不是完全连通的,有一定程度的断开。这是因为Prewitt算子和Robert算子在各个方向的处
17、理是不同的。对于这种情况使用八方向的Krisch算子和各向同性的高斯-拉普拉斯算子处理的比较好。 总的来比较我们发现高斯拉普拉斯算子对图像的边缘检测处理效果较好精确地检测具有灰度渐变和噪声较多的灰度图像。五 结束语本课题从理论上对几种经典的边缘检测算法(Roberts算子、Sobel算子、Prewitt算子、Krisch算子、高斯-拉普拉斯算子)进行分析,并用MATLAB实现这些算法。最后,通过实例图像对不同边缘检测算法的效果进行分析,找出各种算法的适用范围。通过本课题的研究拓宽了自己的知识面,为以后进一步学习数字图像处理打下了基础,提高了学生的独立工作能力和编程能力。 致谢该课程设计是在王汉萍和庄晓东指导老师的悉心指导下完成的,从设计的选题,组织以及到设计报告的写作全过程无不凝聚着老师的心血。在此向两位指导老师表示真挚的感谢。参考文献游素亚、杨静, 图像边缘检测技术的发展与现状,电子科技导报,1995何斌、马天予等,MATLAB数字图像边缘检测,人民邮电出版社涂建华,图像边缘检测与分析,科学出版社,1994章毓晋,图像边缘检测和分析,清华大学出版社,1999朱秀昌、刘峰、胡栋,数字图像边缘检测与图像通信,北京邮电大学出版社
限制150内