




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要 . 1 引言 . 2 第一章绪论 . 3 1.1 课程设计选题的背景及意义 . 3 1.2 图像边缘检测的发展现状 . 4 第二章边缘检测的基本原理 . 5 2.1 基于一阶导数的边缘检测 . 8 2.2 基于二阶导的边缘检测 . 9 第三章边缘检测算子 . 10 3.1 Canny算子. 10 3.2 Roberts梯度算子 . 11 3.3 Prewitt算子 . 12 3.4 Sobel算子 . 13 3.5 Log算子 . 14 第四章 MATLAB简介 . 15 4.1 基本功能 . 15 4.2 应用领域 . 16 第五章编程和调试 . 17 5.1 edge函数. 17 5.2 边缘检测的编程实现 . 17 第六章总结与体会 . 20 参考文献. 21 摘要边缘是图像最基本的特征,包含图像中用于识别的有用信息,边缘检测是数字图像处理中基础而又重要的内容。该课程设计具体考察了 5种经典常用的边缘检测算子,并运用 Matlab进行图像处理结果比较。梯度算子简单有效,LOG 算法和 Canny 边缘检测器能产生较细的边缘。边缘检测的目的是标识数字图像中灰度变化明显的点,而导函数正好能反映图像灰度变化的显著程度,因而许多方法利用导数来检测边缘。在分析其算法思想和流程的基础上,利用 MATLAB对这 5种算法进行了仿真实验,分析了各自的性能和算法特点,比较边缘检测效果并给出了各自的适用范围。关键词:边缘检测;图像处理;MATLAB仿真 引言边缘检测在图像处理系统中占有重要的作用,其效果直接影响着后续图像处理效果的好坏。许多数字图像处理直接或间接地依靠边缘检测算法的性能,并且在模式识别、机器人视觉、图像分割、特征提取、图像压缩等方面都把边缘检测作为最基本的工具。但实际图像中的边缘往往是各种类型的边缘以及它们模糊化后结果的组合,并且在实际图像中存在着不同程度的噪声,各种类型的图像边缘检测算法不断涌现。早在 1965 年就有人提出边缘检测算子,边缘检测的传统方法包括 Kirsch,Prewitt,Sobel,Roberts,Robins,Mar-Hildreth 边缘检测方法以及 Laplacian-Gaussian(LOG)算子方法和 Canny 最优算子方法等。本设计主要讨论其中 5种边缘检测算法。在图像处理的过程需要大量的计算工作,我们利用MATLAB各种丰富的工具箱以及其强大的计算功能可以更加方便有效的完成图像边缘的检测。并对这些方法进行比较 第一章 绪论1.1 课程设计选题的背景及意义边缘是图像的最基本特征,它包含了用于识别的有用信息,为人们描述或识别目标以及解释图像提供了一个重要的特征参数。物体的边缘是以图像局部特性的不连续性为形式出现的。从本质上说,边缘常常意味着一个区域的终结和另一个区域的开始,它普遍存在于目标与背景、目标与目标、区域与区域、基元与基元之间,是图像分割所依赖的重要特征,也是纹理特征的重要信息源和形状特征的基础。有了图像边缘,我们就可以确定物体的几何尺寸并进一步对其测量,确定物体在空间中的几何位置,确定物体的形状特征并对物体进行识别。图像的边缘信息在图像分析和计算机视觉中都是十分重要的,是图像识别中提取图像特征的一个重要属性。尽管边缘在数字图像处理中的作用非常重要,但是到目前为止还没有关于边缘的精确且被广泛承认的数学定义。这里将边缘定义为图像局部特性的不连续性,如灰度的突变、颜色的突变、纹理结构的突变等。对于灰度图像,边缘是指灰度的突变,是图像中灰度变化较剧烈的地方,也即我们通常所说的信号发生奇异变化的地方。通常沿边缘走向的像素变化平缓,而垂直于边缘走向的像素变化剧烈。图像的边缘有方向和幅度两个特性。按照幅度的变化,边缘可粗略分为两种 :一种是阶跃型边缘,它两边象素的灰度值有显著不同;另一种是屋顶状边缘,它位于灰度值从增 加到减少的变化的转折点。图 1.1给出这两种边缘的示意图。(a) 阶跃型边缘 (b) 屋顶状边缘图1.1 边缘类型边缘检测就是要检测出图像中这种灰度的不连续性,同时确定它们在图像中的精确位置,是在局部区域上针对“点”的一种运算,表现为一种典型的信号处理问题。在图像处理、模式识别和计算机视觉中,图像的边缘检测具有极其重要的意义。在大量的视觉模块计算中,边缘检测通常是视觉计算的第一步,高层次计算机视觉处理的成功与否极大地依赖于边缘检测算子的优越性能。1.2 图像边缘检测的发展现状图像的边缘检测有着很长的研究历史,学术思想非常活跃,新理论、新方法不断涌现,一直是国内外图像处理领域研究的热点,目前为止己经提出了许多方法和理论。至今提出的关于边缘检测的方法和理论尚存在不足之处,在某些具体情况下仍然无法很好的检测出目标物体的边缘,难以找到一种普遍适应性的边缘检测方法。因此,根据具体的应用要求设计新的边缘检测方法,或对现有的方法进行改进以得到满意的边缘检测结果,这些依然是研究的主流方向。 第二章 边缘检测的基本原理图像边缘是图像最基本的特征,边缘在图像分析中起着重要的作用。所谓边缘(edge)是指图像局部特征的不连续性。灰度或结构等信息的突变称为边缘,例如:灰度级的突变、颜色的突变、纹理结构的突变。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。当人们看一个有边缘的物体时,首先感觉到的便是边缘,如图2.1所示。(a) 理想边缘模型 (b) 斜坡边缘模型图2.1 灰度级跃变的边缘模型一条理想的边缘应该具有如图 2.1(a) 所示模型的特性。每个像素都处在灰度级跃变的一个垂直的台阶上(例如图形中所示的水平线通过图像的灰度剖面图)。而实际上,诸如图像采集系统的性能、采样频率和获得图像的照明条件等因素的影响,得到的边缘往往是模糊的,边缘被模拟成具有“斜坡面”的剖面,如图 2.1(b) 所示,在这个模型中不再有细线(宽为一个像素的线条),而是出现了边缘的点包含斜坡中任意点的情况。 由此可以看到:模糊的边缘使边缘的“宽度”较大,面清晰的边缘使边缘的宽度较小。由于图像中物体的边缘是以图像的局部特征,像素的不连续性形成出现的,同时也是图像局部亮度变化最显著的部分,同时物体的边缘也是不同区域的分界线。图像的边缘是具有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素点灰度变化剧烈。而这种不连续性往往可以通过求导数方便地检测到,根据灰度变化的特点,一般常用一阶导数和二阶导数来检测边缘。如图 2.2所示,第一行是一些具有边缘的图像示例,第二行是沿图像水平方向的一个剖面,第三行和第四行分别为剖面的一阶导数据和二阶导数。边缘剖面有 3种:阶跃形、脉冲形和屋顶形。(a) 正阶跃形 (b) 负阶跃形 (c) 脉冲形 (d) 屋顶形图2.2 图像边缘的灰度变化与导数阶跃形的边缘处于图像中两个不同灰度值的相邻区间之间,脉冲形的边缘主要对应细条状的灰度值突变区域,而屋顶状的边缘上升沿和下降沿都比较缓慢。由于采样的缘故,数字图像的边缘总有一些模 糊,所以这里垂直上下的边缘剖面都表示有一定的坡度。在图 2.2(a) 中,对灰度剖面的一阶导数在图像由亮变暗的位置处,有一个向上的阶跃而在其它位置为零。这表明可以用一阶导数来检测边缘的存在,幅度峰值一般对应边缘位置。对灰度剖面的二阶导数在一阶导数的阶跃上升区有一个向上的脉冲,而在一阶导数的阶跃下降区有一个向下的脉冲。在这两个阶跃之间有一个过零点,它的位置正对应原图像的边缘位置。所以可以用二阶导数的过零点来检测边缘位置,而用二阶导数在过零点处的符号确定边缘像素在图像边缘的暗区或亮区。同样分析图 2.2(b) 可以得到相同的结论。这这里是由亮变暗,所以与图 2.2(a) 相比,剖面左右对换,一阶导数左右对换,二阶导数据上下对换。图 2.2(c) 中,脉冲形的剖面边缘与图 2.2(a) 的一阶导数形状相同,所以图 2.2(c) 的一阶导数形状与图 2.2(a) 的二阶导数形状相同,而它的 2个二阶导数过零点正好对应脉冲的上升沿和下降沿。通过检测脉冲剖面的 2个二阶导数过零点就可以确定脉冲的范围。同理,不难得出图 2.2(d) 屋顶形边缘,通过检测屋顶形边缘的剖面的一阶导数过零点就可以确定屋顶位置。图像的边缘有方向的幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶导数或二阶导数来检测边缘,不同的是一阶导数认为最大值对应边缘位置,而二阶导数以过零点对应边缘位置。实际 上,对于图像中的任意方向上的边缘都可以进行类似的分析。图像边缘检测中对任意点的一阶导数可以利用该点梯度的幅度来获得,二阶导数可以用拉普拉斯算子得到。2.1 基于一阶导数的边缘检测梯度是函数变化的一种度量,是图像对应二维函数的一阶导数。而一幅图像可以看作是图像强度连续导数的取样点数组。梯度是一阶导数的二维等价式,可定义为向量有两个重要的性质和梯度有关,一是向量 G(x,y)的方向就是函数f(x,y)增大时的最大变化率方向;二是梯度的幅值。对于数字图像,偏导数可用差分来近似,则边缘往往在差分值最大处,最小处或过零点发生。在计算梯度时,计算空间同一位置处(x,y)的真实偏导数是至关重要的。而采用上面公式计算的梯度近似值并不位于同一位置。所以常常使用 22的一阶差分模板来计算位于内插点x+1/2,y+1/2的 x方向 和 y方向偏导数,此时 Gx和 Gy可表示为2.2 基于二阶导的边缘检测以上介绍的计算一阶导数的方法,把一阶导数大于阈值的点作为边界点的方法,有可能会导致检测出的边缘点过多,数据存储量比较大。一种在理论上更有效的方法是求梯度局部最大值对应的点,并认为它们是边缘点。这种去除了一阶导数中的非局部最大值的方法,可以检测出更精确的边缘,一阶导数的局部最大值对应着二阶导数的零交叉点。这样,通过找图像灰度的二阶导数的零交叉点就能较好地找到精确边缘点。从图 1可以看出,图像灰度二阶导数的过零点对应边缘点。图2.3 图像的二阶导数 第三章 边缘检测算子数字图像中,边缘(edge)是指图像局部强度变化最显著的部分。边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间。边缘检测常用到的有属于简单空域微分算法的 Roberts算子、Sobel算子、Prewitt算子,拉普拉斯高斯(LOG)算法以及 Canny边缘检测器等。边缘检测算法的基本步骤:滤波:改善与噪声有关的边缘检测器的性能;一般滤波器降导致了边缘的损失;增强边缘和降低噪声之间需要折衷;增强:将邻域强度值有显著变化的点突显出来,边缘增强一般是通过计算梯度幅值来完成的;检测:最简单的边缘检测判据是梯度幅值阀值;定位:边缘的位置和方位在子像素分辨率上估计。3.1 Canny算子Canny边缘检测利用高斯函数的一阶微分,在噪声抑制和边缘检测之间寻求较好的平衡,其表达式近似于高斯函数的一阶导数。Canny算子是一阶算子。其方法的实质是用 1个准高斯函数作平滑运算 fs=f(x,y)G(x,y),然后以带方向的一阶微分算子定位导数最大值。平滑后 fs(x,y)的梯度可以使用 22一阶有限差分近似式:Pi,j(fsi,j+1-fsi,j+fsi+1,j+1-fsi+1,j)/2Qi,j(fsi,j-fsi+1,j+fsi,j+1-fsi+1,j+1)/2 在这个 22正方形内求有限差分的均值,便于在图像中的同一点计算 x和 y的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐标转化来计算:Mi,j反映了图像的边缘强度; i,j反映了边缘的方向。使得 Mi,j取得局部最大值的方向角 i,j,就反映了边缘的方向。Canny 算子也可用高斯函数的梯度来近似,在理论上很接近 4 个指数函数的线性组合形成的最佳边缘算子。在实际工作应用中编程较为复杂且运算较慢。Canny边缘检测算子对受加性噪声影响的边缘检测是最优的。3.2 Roberts梯度算子对阶跃状边缘,在边缘点处一阶导数有极值,因此可计算每个像素处的梯度来检测边缘点。对于图像 g(x,y),在(x,y)处的梯度定义为 grad(x,y)。梯度是一矢量,大小代表边缘的强度,方向与边缘走向垂直。梯度算子仅用最近邻像素的灰度计算,对噪声敏感,无法抑制噪声的影响。Roberts 边缘检测算子根据任意一对垂直方向上的差分可用来计算剃度的原理;采用对角线方向相临两像素之差,即:x f=f(i,j)-f(i+1,j+1)(1) y f=f(i,j)-f(i+1,j+1)(2)有了x f,y f之后,可以根据下式计算出 Roberts的剃度幅度值:它们的卷职算子为:适当选取门限 TH,并作如下判断:如果 R(i,j)TH,则(i,j)为阶跃状边缘点,R(i,j)为边缘图像。3.3 Prewitt算子Prewitt 从加大边缘检测算子的模板大小出发,由 22 扩大到 33来计算差分算子,采用 Prewitt算子不仅能检测边缘点,而且能抑制噪声的影响。这些算子样板由理想的边缘图像构成。依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值 P(i,j),这样可将边缘像素检测出来。定义 Prewitt边缘检测算子模板如下: 8个算子样板所对应的边缘方向分别是 8个等份方向的。适当选取门限 TH,并作如下判断:如果 P(i,j)TH,则(i,j)为阶跃状边缘点。P(i,j)为边缘图像。3.4 Sobel算子Sobel 在 Pre-witt 算子的基础上,对 4-邻域采用带权的方法计算差分,该算子不仅能检测边缘点,且能进一步抑制噪声的影响,但检测的边缘较宽。Sobel算法是基于一阶导数的边缘检测,通过逼近导数来找边缘,其边缘点存在于图像梯度最大值处。Sobel 算子中用到了两个卷积模板(一个水平算子,一个垂直算子)。它是一种奇数大小(33)模板下的全方向微分算子,对检测点的上下左右进一步加权。Sobel 算子的思想是邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。我们用 Sobel来检测边缘的时候,先分别用上述的模板对图像进行卷积,得到的是两个矩阵,在不考虑边界的情形下也是和原图像同样大小的 bx,by,它们分别表示图像 a 中相同位置处的两个偏导数。然后把 bx,by对应位置两个数平方后相加得到一 个新的矩阵 b,b表示图像 a 中各个像素的灰度的梯度值。最后通过阈值处理和细化处理得到边缘图像。在阈值不为空的情况下,边缘存在于梯度幅值大于阈值平方的点上。3.5 Log算子Log算法是基于二阶导数的边缘检测,这种方法是将高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,先平滑掉噪声,再进行边缘检测。它是对图像进行滤波和微分的过程,是利用旋转对称的 Log模板与图像做卷积,确定滤波器输出的零交叉位置。常用的 Log算子是 55的模板,如下所示Log算法的特点是图像首先与高斯滤波器进行卷积,这样在平滑图像的同时降低了噪声,孤立的点噪声和较小的结构组织将被滤除。由于平滑会导致边缘的延伸,因此边缘检测只考虑那些具有局部梯度最大值的点为边缘点。正确地选用 Log 算子中的尺度参数是很重要的。直观上说,大的对应于更大的平滑范围,它有利于抑制噪声,但不利于定位精度;值小时,边缘定位精度高,但边缘细节变化多,信噪比低。因此应根据噪声水平和边缘定位精度的要求来决定的值。 第四章 MATLAB简介MATLAB 是矩阵实验室( Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和 Simulink两大部分。4.1基本功能MATLAB 和 Mathematica 、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。 MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用C,FORTRAN 等语言完成相同的事情简捷得多,并且 mathwork也吸收了像 Maple 等软件的优点 ,使 MATLAB 成为一个强大的数学软件。在新的版本中也加入了对 C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB 函数库中方便自己以后调用,此外许多的 MATLAB 爱好者 都编写了一些经典的程序,用户可以直接进行下载就可以用。4.2应用领域MATLAB 产品族可以用来进行以下各种工作: 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 数字图像处理技术 数字信号处理技术 通讯系统设计与仿真 财务与金融工程MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。 第五章 编程和调试5.1 edge函数在 MATLAB 图像处理工具箱中提供了专门的边缘检测 edge 函数,由 edge函数可以实现各算子对边缘的检测,其调用格式如下:BW=edge(I,method)BW=edge(I,method,thresh)Bw=edge(I,method,thresh,direction)BW,thresh=edge(I,method,)其中,I是输入图像。edge函数对灰度图像 I进行边缘检测,返回与 I同样大的二值图像 BW;其中 1 表示边缘,表示非边缘。I可以是 uint8型、uint16型或 double型;BW是 uint8型。method是表示选用的方法(算子)类型,可以选择的 method有Sobel、Prewitt、Roberts、Log、Canny等。可选的参数有 thresh(阈值)、sigma(方差)和 direction(方向)。5.2 边缘检测的编程实现利用 edge函数,分别采用 Sobel、Roberts、Prewitt、Log、Canny5 种不同的边缘检测算子编程实现对图 5.1 所示的原始图像进行边缘提取。 图5.1 原始灰度图像程序代码如下:%MATLAB调用 edge函数实现各算子进行边缘检测程序I=imread(tire.tif);%读入灰度图像并显示figure(1),imshow(I); BW1=edge(I,sobel,0.1);%用 sobel算子进行边缘检测,判断阈值为 0.1 figure(2),imshow(BW1) BW2=edge(I,roberts,0.1);%用 roberts算子进行边缘检测,判断阈值为 0.1 figure(3),imshow(BW2) BW3=edge(I,prewitt,0.1);%用 prewitt算子进行边缘检测,判断阈值为 0.1 figure(4),imshow(BW3) BW4=edge(I,log,0.01);%用 log算子进行边缘检测,判断阈值为 0.01 figure(5),imshow(BW4) BW5=edge(I,canny,0.1);%用 canny算子进行边缘检测,判断阈值为 0.1 figure(6),imshow(BW5) 检测效果如图 5.2 所示,从图中可以看出,在采用一阶微分进行边缘检测时,除了微分算子对边缘检测结果有影响外,阈值选择也对检测有重要影响。比较几种边缘检测结果,可以看到Can
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业机耕服务合同5篇
- 内部安全培训记录样本课件
- 装修公司营销推广方案(3篇)
- 化学实验室安全培训课件
- 创新岗位安全培训心得课件
- 化学品存放安全培训课件
- 第三单元课外古诗词诵读《赠从弟(其二)》(公开课一等奖创新教学设计)统编版语文八年级上册
- 创伤患者的分诊课件
- 创伤性湿肺课件
- 统编版语文三年级上册第三单元习作续写故事 +公开课一等奖创新教学设计
- 检验员技能测试题及答案
- 化学原电池教学课件
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人考试参考试题及答案解析
- 新疆劳动就业白皮书课件
- 视觉障碍老人护理指南
- 宠物医院建设方案(3篇)
- 2025年中学生法治素养竞赛题库及答案
- 《“高效办成一件事”2025年度第二批重点事项清单》知识解读
- 2025年飞行器设计与工程师考试试卷及答案
- 2025年三级律师试题题库及答案
- 智能化系统施工方案及技术措施
评论
0/150
提交评论