专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc

上传人:laozhun 文档编号:3933629 上传时间:2023-03-28 格式:DOC 页数:16 大小:197.50KB
返回 下载 相关 举报
专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc_第1页
第1页 / 共16页
专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc_第2页
第2页 / 共16页
专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc_第3页
第3页 / 共16页
专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc_第4页
第4页 / 共16页
专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc》由会员分享,可在线阅读,更多相关《专业综合课程设计说明书边缘提取不同算子方法的分析比较.doc(16页珍藏版)》请在三一办公上搜索。

1、目 录摘 要I1简介11.1MATLAB 简介11.2数字图像处理简介12边缘检测32.1边缘的含义32.2边缘检测的含义32.3边缘检测的步骤33常用的边缘检测算子53.1微分算子53.1.1 Sobel算子53.1.2 robert算子63.1.3 prewitt算子63.2 Laplacian算子63.3 Log算法73.4 Canny边缘检测法74程序设计85运行结果106边缘检测结果比较127心得体会13参考文献14摘 要边缘检测是利用边缘增强算子,突出图像中的局部边缘,然后定义象素的“边缘强度”,通过设置阈值的方法提取边缘点集。本设计利用MATLAB软件分析几种应用于数字图像处理中

2、的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:Robert 边缘算子、Prewitt 边缘算子、Sobel 边缘算子、LoG边缘算子以及Laplacian 算子等对图像边缘检测,根据实验处理结果对几种算子进行比较。关键词:Matlab 边缘检测 算子 1简介1.1MATLAB 简介Matlab是国际上最流行的科学与工程计算的软件工具,它起源于矩阵运算,已经发展成一种高度集成的计算机语言。有人称它为“第四代”计算机语言,它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化界面设计、便捷的与其它程序和语言接口的功能。随着Matlab语言功能越来越强大,不断适应新的要求并提

3、出新的解决方法,可以预见,在科学运算,自动控制与科学绘图领域,Matlab语言将长期保持其独一无二的地位。Matlab 的特点如下:(1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来; (2) 具有完备的图形处理功能,实现计算结果和编程的可视化; (3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握; (4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具.Matlab的优势如下:(1)友好的工作平台和编程环境(2)简单易用的程序语言(3)强大的科学计算机数据处理能力(4)出色的图形处理功能(5)应用广

4、泛的模块集合工具箱(6)实用的程序接口和发布平台(7)应用软件开发(包括用户界面)1.2数字图像处理简介数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,以提高图像的实用性,达到人们所要求的预期结果。从处理的目的来讲主要有:(1)提高图像的视感质量,以达到赏心悦目的效果;(2)提取图像中所包含的某些特征或特殊信息;(3)对图像数据进行变换、编码和压缩,以便用于图像的存储和传输。数字图像处理技术是计算机技术、信息论和信号处理相结合的综合性学科。数字图像处理的特点有如下几点:(1)处理信息量很大:数字图像处理的信息大多是二维信息,处理信息量很大,对计算

5、机的计算速度、存储容量等要求较高。 (2)占用频带较宽:数字图像处理占用的频带较宽。与语言信息相比,占用的频带要大几个数量级。 (3)各像素相关性大:数字图像中各个像素是不独立的,其相关性大。在图像画面上,经常有很多像素有相同或接近的灰度。就电视画面而言,同一行中相邻两个像素或相邻两行间的像素,其相关系数可达0.9以上,而相邻两帧之间的相关性比帧内相关性一般说还要大些。 (4)无法复现三维景物的全部几何信息:由于图像是三维景物的二维投影,一幅图象本身不具备复现三维景物的全部几何信息的能力,很显然三维景物背后部分信息在二维图像画面上是反映不出来的。 (5)受人的因素影响较大:数字图像处理后的图像

6、一般是给人观察和评价的,因此受人的因素影响较大。由于人的视觉系统很复杂,受环境条件、视觉性能、人的情绪爱好以及知识状况影响很大,作为图像质量的评价还有待进一步深入的研究。另一方面,计算机视觉是模仿人的视觉,人的感知机理必然影响着计算机视觉的研究。2边缘检测2.1边缘的含义边缘(edge)是指图像局部强度变化最显著的部分,边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。图像分析和理解的第一步常常是边缘检测(edge detection),由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一。边缘是图像的最重要的特

7、征。边缘是指周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘检测主要是灰度变化的度量、检测和定位。有很多种不同的边缘检测方法,同一种方法使用的滤波器也不尽相同。图像边缘检测就是研究更好的边缘检测方法和检测算子。2.2边缘检测的含义边缘检测的基本思想首先是利用边缘增强算子,突出图像中的局部边缘,然后定义象素的“边缘强度”,通过设置阈值的方法提取边缘点集。由于噪声和模糊的存在,监测到的边界可能会变宽或在某点处发生间断。因此,边界检测包括两个基本内容:(1)用边缘算子提取出反映灰度变化的边缘点集。(2)在边缘点集合中剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。图像边缘检测大幅度

8、地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。2.3边缘检测的步骤(1)滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强

9、边缘和降低噪声之间需要折中。 (2)增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。 (3)检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。 (4)定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出

10、边缘的精确位置或方向。 边缘检测的实质是采用某种算法来提取出图像中对象与背景问的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。经典的边缘检测方法,是通过对原始图像中像素的某小邻域构造边缘检测算子来达到检测边缘这一目的的。3常用的边缘检测算子3.1微分算子经典的边缘提取方法是考察图像的每个像素的某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律,用简单的方法检测边缘,称为微分算子法。导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值较高,因此我们将

11、图像的导数算子运算值作为相应的边界强度,所以可以通过对这些导数值设置阈值,提取边界的点集。一阶导数是最简单的导数算子。已知在点f(x,y)处,梯度grad(F(x,y)的幅度为:为了进一步简化计算,可以取:或者其中: 它们分别求出了灰度在x和y方向上的变化率,但是要对每一个像素进行以上的运算,运算量较大,所以在实际应用中常用小区域模板卷积运算来进行近似计算。模板运算的想法是将赋予某一个像素的值作为它本身灰度值和相邻象素灰度值的函数。运用中,对x,y方向各用一个模板。3.1.1 Sobel算子Sobel算子是一种梯度幅值,通常可以以数字化方式用下表所示的卷积核来实现。图像中的每个都用这两个核做卷

12、积,一个核对通常的垂直边缘响应最大而另一个对水平边缘响应最大。两个卷积的最大值值作为该点的输出值,运算结果是一副边缘幅度的图像。X,Y方向各用一个模板,两个模板组合起来构成1个梯度算子。X方向模板对垂直边缘影响最大,Y方向模板对水平边缘影响最大。模板如下: 3.1.2 robert算子Roberts算子是一种斜向偏差分的梯度计算方法, 梯度的大小代表边缘的强度, 梯度的方向与边缘走向垂直。该算子定位精度高, 但容易丢失部分边缘。因为没进行平滑处理, 不具有抑制噪声的能力。用该算子处理边缘陡峭度高且噪声小的图像效果较佳。Roberts算子由下式给出:模板如下:3.1.3 prewitt算子pre

13、witt算子是加权平均算子,对噪声有抑制作用,但是像素平均相当于对图像进行地同滤波,所以prewitt算子对边缘的定位不如robert算子。模板如下:3.2 Laplacian算子拉普拉斯高斯算子是一种二阶导数算子,将在边缘处产生一个陡峭的零交叉。前面介绍的几种梯度法具有方向性,不能对各种走向的边缘都具有相同的增强效果。但是Laplacian算子是各向同性的,能对任何走向的界线和线条进行锐化,无方向性。这是拉普拉斯算子区别于其他算法的最大优点。对一个连续函数f(x,y),它在位置(x,y)的拉普拉斯算子定义如下:在图像边缘检测中,为了运算方便,函数的拉普拉斯高斯算子也是借助模板来实现的。其模板

14、有一个基本要求:模板中心的系数为正,其余相邻系数为负,所有系数的和应该为零。模板如下:3.3 Log算法正如上面所提到的,利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声。为此,Marr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成Log(Laplacian of Gaussian, Log)算法,也称之为拉普拉斯高斯算法。Log算子的输出h(x,y)是通过卷积运算得到的:3.4 Canny边缘检测法 Canny边缘检测是一种比较新的边缘检测算子,具有很好的边缘监测性能,在图像处理中得到了越来越广泛的应用。它依据图像边缘检测最优准则设

15、计canny边缘检测算法: (1)首先用2D高斯滤波模板进行卷积以消除噪声 (2)利用导数算子找到图像灰度地沿着两个方向的偏导数,并求出梯度的大小: (3)利用(2)的结果计算出梯度的方向 (4)一旦知道了边缘的方向,就可以把边缘的梯度方向大致分为四种:水平、竖直、45度方向、135度方向。通过梯度的方向,就可以找到这个像素梯度方向的邻接像素。 (5)遍历图像,若某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比不是最大的,那么这个像素值置为0,即不是边缘。 (6)使用累计直方图计算两个阈值,大于高阈值的一定是边缘,小于低阈值的一定不是边缘,介于之间的,看这个像素的邻接像素中有没有超过高阈

16、值的边缘像素,如果有的话那么它就是边缘了,否则它就不是边缘。4程序设计在Matlab图像处理工具箱中,提供了edge函数利用以上算子来检测灰度图像的边缘。程序代码如下:%对原始图像进行前期处理a1=imread(C:Documents and SettingsAdministrator桌面白牡丹.tif); %读入图像文件a2=im2double(a1); %把图像转换成双精度型b=rgb2gray(a2); %将原图转换成灰度图像thr,sorh,keepapp=ddencmp(den,wv,b); %求取对信号进行小波消噪处理的默认阈值、软阈值,并且保留低频系数c=wdencmp(gbl,

17、b,sym4,2,thr,sorh,keepapp); % 全局阈值设置去噪figure,imshow(c),title(消噪后图像 );d=medfilt2(c,7 7);%进行二维中值滤波figure,imshow(d),title(中值滤波);isuo=imresize(d,0.25,bicubic);%sobert、robert、prewitt、Log、canny算子检测图像边缘es=edge(isuo,sobel);er=edge(isuo,roberts);ep=edge(isuo,prewitt);el=edge(isuo,log);ec=edge(isuo,canny);sub

18、plot(3,2,1);imshow(isuo);title(前期处理图像);subplot(3,2,2);imshow(es);title(sobel算子);subplot(3,2,3);imshow(er);title(roberts算子);subplot(3,2,4);imshow(ep);title(prewitt算子);subplot(3,2,5);imshow(el);title(log算子);subplot(3,2,6);imshow(ec);title(canny算子);5运行结果前期处理图像如下:图5.1消噪后的图像图5.2中值滤波后的图像各种算子检测图像边缘所得的结果如下图

19、5.3各算子处理后的图像6边缘检测结果比较Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高,图像的边缘不止一个像素。当对精度要求不是很高时,是一种较为常用的边缘检测方法。Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。Prewitt算子检测方法对灰度渐变和噪声较多的图像处理效果较好。但边缘较宽,而且间断点多。Laplacian算子法对噪声比较敏感,所以很少用该算子检测边缘,而是用来判断边缘像素视为与图像的明区还是暗区。L

20、og算子是高斯滤波和拉普拉斯边缘检测结合在一起的产物,它具有Laplace算子的所有优点,同时也克服了其对噪声敏感的缺点。Canny方法不容易受噪声干扰,能够检测到真正的弱边缘。优点在于,使用两种不同的阈值分别检测强边缘和弱边缘,并且当弱边缘和强边缘相连时,才将弱边缘包含在输出图像中。7心得体会从本次课设可以看出,利用MATLAB软件可以大大的简化计算,可以直观迅速的得到所需要的结果。MATLAB软件功能强大,通过本次综合设计更一步了解和掌握该软件的使用方法,更好的利用该软件解决一些比较复杂的问题。本次课设与数字图像处理该门知识有关,所以必须掌握该课的基本知识,还要学会怎样利用MATLAB软件

21、和实际结合起来,解决数字图像处理中的问题。通过理论与实际的结合,可以更好的掌握该门学科知识,为后一阶段的进一步学习打下好的基础,同时,通过本次综合设计看出自己运用该软件的不熟练,可以及时的调整自己,认真学号怎样使用该软件以及掌握该门学科。通过本次课程设计我学到了很多新的东西,极大地拓宽了我的知识面,锻炼了能力,综合素质也得到较大提高,我感到收获不小。但在设计中也发现了大量问题,有些在设计过程中已经解决,有些还需要在今后慢慢学习,只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中。我们通过此次课设积极主动去查阅相关资料并向其他同学和学长请教,学到了不少东西,在这个过程中与其他同学积极探讨,培养了我的团队协作精神。这就是我在这次课程设计中的最大收获。 参考文献1 赵春晖.现代图像处理技术及Matlab实现M.北京:人民邮电出版社,2001.2 许志影.MATLAB及其在图像处理中的应用.计算机与现代化,2004(4).3 程卫国.MATLAB5.3应用指南.人民邮电出版社,2009.4 阮秋琦.数字图像处理学M.北京:电子工业出版社,2001.5 何斌.数字图像处理M.北京:人民邮电出版社,2001.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号