图像边缘检测(共50页).doc
精选优质文档-倾情为你奉上摘 要随着计算机技术的飞速发展,图像边缘检测已成为图像处理的重要内容,它是图像分析的基本问题,是图像分割、特征提取和图像识别的前提。本文的主要内容如下。首先,介绍了数字图像处理的概念及其应用领域、边缘检测研究的背景意义,历史现状,以及边缘检测的一些基本概念。然后,分别介绍了经典的图像边缘检测算子,如Robert算子、Sobel算子、Prewitt算子等的基本原理,接着概述了几种新的边缘检测方法,如小波理论、数学形态学、模糊理论等。并通过理论分析和仿真计算比较了经典边缘检测算子各自的优缺点及适用性。 最后,通过matlab-GUI编程,设计出一个图形界面,整合了canny算子和log算子等的边缘检测,增加了整个程序的实用性。关键词: 边缘检测;Canny算法;log算法;Robert算法;ABSTRACT专心-专注-专业The image edge detection has become one of the most important parts of image processing with the development of computer technology. Image edge detection is the first step of image analysis, also the basis of image segmentation, feature extraction and image recognition. The main content of this dissertation is described as follows.Firstly, digital image processing and its applications are introduced. Then, the background, the significance and also the development status of the image edge detection technique are introduced, next to this, some basic knowledge of the image edge detection are discussed.Secondly, introduced the classical edge detection operator, such as the Robert operator, Sobel operator, Prewitt operator, etc. The basic principle, then outlined several new edge detection methods, such as wavelet theory, mathematical morphology, fuzzy theories. And through theoretical analysis and simulation comparison of classical edge detection operator and the applicability of their advantages and disadvantages.Finally, use matlab-GUI programming, design a graphical interface, integrated operator log and canny edge detection operator, increasing the practicality of the whole process.Key words: edge detection; Canny algorithm; log algorithm;Robert algorithm 目录第一章 绪论. 11.1数字图像处理概况 . . 11.2边缘检测技术的概况 . . 21.3 边缘检测综述.31.3.1 边缘的定义及其类型的分析.31.3.2 梯度的概念.51.3.3 边缘检测的一般步骤.5第二章 经典的图像边缘检测算法.62.1 经典边缘检测的基本算法.72.2 基于梯度的边缘检测算子 .82.2.1 差分边缘检测 .82.2.1 Roberts算子.92.2.3 Sobel算子.92.2.4 Prewitt算子.102.2.5 Robinson算子.112.4 Log边缘检测算子.14第三章 新型边缘检测方法.173.1 基于数学形态学的边缘检测方法.173.2 基于模糊理论的边缘检测方法.173.3 基于分形理论的图像边缘提取方法. .173.4 基于多尺度小波变换的边缘检测算法. .183.5 其它方法.20第五章 MATLAB仿真.215.1 MATLAB 概述.215.1.1 MATLAB 特点.215.1.2 MATLAB 主要功能.215.1.3 MATLAB 在图像处理中的应用.225.2 基于MATLAB的边缘检测. .225.3 基于matlab-gui的边缘检测程序设计.275.4 实验结果分析.33结束语.34致谢.35 参考文献.36 附录.38第一章 绪论1.1 数字图像处理概况 数字图像处理(DigitalImageProcessing)起源于20世纪20年代,是指通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展;三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。当时通过海底电缆从英国伦敦到美国纽约采用数字压缩技术传输了第一幅数字照片。第三代计算机问世后,数字图像处理便开始迅速发展并得到了普遍的应用。它通过计算机和其它高速、大规模的集成数字硬件对由光学信息转换成的数字信号进行某些数字运算或处理,期望提高图像的质量达到人们的预期结果。数字图像处理研究的内容主要有: (1)图像获取和图像表现阶段主要是把模拟图像信号转化为计算机所能接受的数字形式,以及把数字图像用所需要的形式显示出来。 (2)图像复原当造成图像退化的原因已知时,复原技术可用来进行图像的校正。复原技术是基于模型和数据的图像恢复,其目的是消除退化的影响,从而产生一个等价于理想成像系统所获得的图像。 (3)当无法知道与图像退化有关的定量信息时,可以使用图像增强技术较为主观地改善图像的质量。 (4)图像分析对图像中的不同对象进行分割、特征提取和表示,从而有利于计算机对图像进行分类、识别、理解或解释。 (5)图像重建由图像的多个一维投影重建该图像,可看成是特殊的图像复原技术。 (6)图像编码和压缩对图像进行编码的主要目的是为了压缩数据,便于存储和传输。当前的一些编码方法对图像分析和图像加密也有越来越多的应用。1)数字图像处理在计算机科学与技术发展的基础上发展起来的,但是它又涉及到诸多学科领域,包括信息学,统计学、生物学、物理学、心理学、医学等等。其中,在医学研究方面边缘检测是其医学图像处理的关键技术之一 ,目的是在有噪声背景的图像中确定出目标物边界的位置,它在医学图像匹配、肿瘤病灶确定、造影血管检测、冠心病诊断、左心室边缘抽出等方面占有举足轻重的地位。它还广泛用于卢脑三维重建前的边缘抽取,尘肺的自动侦测,脑灰质脑白质的抽取,各种时期癌症细胞的识别 ,通过眼底视网膜来诊断糖尿病等,在疾病的辅助诊断及观察治疗效果等方面起了重要作用。图像处理技术已经在众多领域展给人类带来了巨大的经济和社会效益,同时它也在改变着我们的生活和思维方式,然而对图像处理技术的研究绝没有研究到了尽头,无论是在理论研究领域还是正在开辟的新引用领域都还存在广阔的研究空间。1.2 边缘检测技术的概况计算机视觉处理可以看作是为了实现某一任务从包含有大量的不相关的信息中抽出对我们有用的信息。这就意味着要扔掉一些不必要的信息,所以我们需要尽可能利用物体的不变性质。而边缘就是最重要的不变性质:光线的变化显著地影响了一个区域的外观,但是不会改变它的边缘。最重要的是人的视觉系统也是对边缘最敏感的。边缘是图像的最基本特征。所谓边缘,是指图像中灰度发生急剧变化的区域,或者说是指周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘检测是图像处理中的重要内容,目的是在有噪声背景的图像中确定出目标物边界的位置。边缘或许对应着图像中物体(的边界)或许并没有对应着图像中物体(的边界),但是边缘具有十分令人满意的性质,它能大大地减少要处理的信息但是又保留了图像中物体的形状信息。常见的传统的边缘检测方法的边缘检测算子主要有Roberts算子、Prewitt算子、Sobel算子、LOG算子、Canny算子、等。还有诸如哈夫变换等其他方法。对图像进行边缘检测的意义很重要。在医学图像处理领域,它在图像匹配、肿瘤病灶确定、造影血管检测、冠心病诊断、左心室边缘抽出等方面占有举足轻重的地位,它还广泛用于卢脑三维重建前的边缘抽取,尘肺的自动侦测,脑灰质脑白质的抽取,各种时期癌症细胞的识别,通过眼底视网膜来诊断糖尿病等,在疾病的辅助诊断及观察治疗效果等方面起了重要作用。 此外,边缘在模式识别、机器视觉等中有很重要的应用。边缘是边界检测的重要基础,也是外形检测的基础。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,因此它也是图像分割所依赖的重要特征。边缘检测对于物体的识别也很重要的。主要有以下几个理由:首先,人眼通过追踪未知物体的轮廓而扫描一个未知的物体。第二,经验告诉人们:如果人们能成功得到图像的边缘,那么图像分析就会大大简化。图像识别就会容易得多。第三,很多图像并没有具体的物体,对这些图像的理解取决于它们的纹理性质,而提取这些纹理性质与边缘检测有着极其密切的关系。由于在图像处理中的应用十分广泛,边缘检测的研究多年来一直受到人们的高度重视,到现在已提出的各种类型的边缘检测算法有成百上千种。到目前为止,国内外关于边缘检测的研究主要以两种方式为主:(1)不断提出新的边缘检测算法。一方面,人们对于传统的边缘检测技术的掌握已经十分成熟,另一方面,随着科学的发展,传统的方法越来越难以满足某些情况下不断增加或更加严格的要求,如性能指标,运行速度等方面。针对这种情况,人们提出了许多新的边缘检测方法。这些新的方法大致可以分为两大类:一类是结合特定理论工具的检测技术,如基于数学形态学的检测技术、借助统计学方法的检测技术、利用神经网络的检测技术、利用模糊理论的检测技术、基于小波分析和变换的检测技术、利用信息论的检测技术、利用遗传算法的检测技术等。另一类是针对特殊的图像而提出的边缘检测方法。如将二维的空域算子扩展为三维算子可以对三维图像进行边缘检测、对彩色图像的边缘检测、合成孔径雷达图像的边缘检测、对运动图像进行边缘检测来实现对运动图像的分割等。(2)将现有的算法应用于工程实际中。如车牌识别、虹膜识别、人脸检测、医学或商标图像检索等。尽管人们很早就提出了边缘检测的概念,而且今年来研究成果越来越多,但由于边缘本身检测本身所具有的难度,使研究没有多大的突破性的进展。仍然存在的问题主要有两个:其一是没有一种普遍使用的检测算法;其二没有一个好的通用的检测评价标准。从边缘检测研究的历史来看,可以看到对边缘检测的研究有几个明显的趋势:一是对原有算法的不断改进;二是新方法、新概念的引入和多种方法的有效综合利用。人们逐渐认识到现有的任何一种单独的边缘检测算法都难以从一般图像中检测到令人满意的边缘图像,因而很多人在把新方法和新概念不断的引入边缘检测领域的同时也更加重视把各种方法总和起来运用。在新出现的边缘检测算法中,基于小波变换的边缘检测算法是一种很好的方法。三是交互式检测研究的深入。由于很多场合需要对目标图像进行边缘检测分析,例如对医学图像的分析,因此需要进行交互式检测研究。事实证明。交互式检测技术有着广泛的应用。四是对特殊图像边缘检测的研究越来越得到重视。目前有很多针对立体图像、彩色图像、多光谱图像以及多视场图像分割的研究,也有对运动图像及视频图像中目标分割的研究,还有对深度图像、纹理(Texture)图像、计算机断层扫描(CT)、磁共振图、共聚焦激光扫描显微镜图像、合成孔径雷达图像等特殊图像的边缘检测技术的研究。五是对图像边缘检测评价的研究和对评价系数的研究越来越得到关注。相信随着研究的不断深入,存在的问题会很快得到圆满的解决。1.3 边缘检测综述1.3.1 边缘的定义及其类型的分析边缘是指图像局部亮度变化最显著的部分,主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间。两个具有不同灰度值的相邻区域之间总存在着边缘,它是灰度值不连续的结果。这种不连续常可以利用求导数的方法方便的检测到,一般常用一阶和二阶导数来检测边缘。图1.1第一排是一些具有边缘的图像示例,第二排是沿图像水平方向的一个剖面图,第三排和第四排分别为剖面的一阶和二阶导数。常见的边缘剖面有3种:阶梯状(如图(a)和(b)所示);脉冲状(如图(c)所示);屋顶状(如图(d)所示)。阶梯状的边缘处于图像中两个具有不同灰度值的相邻区域之间,脉冲状主要对应细条状的灰度值突变区域,而屋顶状的边缘上升下降沿都比较缓慢。由于采样的缘故,数字图像的边缘总有一些模糊,所以这里垂直上下的边缘剖面都表示成一定坡度。 图1.1 图像的边缘及其导数图1-1(a)中,对灰度值剖面的一阶导数在图像由暗变明的位置处有一个向上的阶跃,而在其它位置为零。这表明可用一阶导数的幅度值来检测边缘的存在,幅度峰值一般对应边缘位置。对灰度值剖面的二阶导数在一阶导数的阶跃上升区有一个向上的脉冲,而在一阶导数阶跃下降区有一个向下的脉冲。在这两个阶跃之间有一个过零点,它的位置正对应原始图像中边缘的位置。所以可用二阶导数过零点检测边缘位置,而二阶导数在过零点附近的符号确定边缘像素在图像边缘的暗区或明区。分析图1-1(b)可得到相似的结论。这里图像由明变暗,所以与图(a)相比,剖面左右对称,一阶导数上下对称,二阶导数左右对称。图1-1(c)中,脉冲状的剖面边缘与图(a)的一阶导数形状相同,所以图(c)的一阶导数形状与图(a)的二阶导数形状相同,而它的两个二阶导数过零点正好分别对应脉冲的上升沿和下降沿。通过检测剖面的两个二阶导数过零点就可以确定脉冲的范围。图1-1(d)中,屋顶状边缘的剖面可看作是将脉冲边缘地步展开得到的,所以它的一阶导数是将图1-1(c)脉冲剖面的一阶导数的上升沿和下降沿展开得到的,而它的二阶导数是将脉冲剖面二阶导数的上升沿和下降沿拉开得到的。通过检测屋顶状边缘剖面的一阶导数过零点可以确定屋顶位置。1.3.2 梯度的概念梯度:边缘检测是检测图像局部显著变化最基本的运算。在一维的情况下,阶跃边缘同图像的一阶导数局部峰值有关。梯度是函数变化的一种度量,而一幅图像可以看作是图像强度连续函数的取样点序列。梯度是一阶导数的二维等效式,定义为矢量: (1.1)有两个重要性质与梯度有关:(1)矢量的方向就是函数增大时的最大变化率方向;(2)梯度的幅值由下式给出: (1.2)由矢量分析可知,梯度的方向定义为: (1.3)其中角是相对于轴的角度。 对于数字图像,式(1-1)的导数可用差分来近似,最简单的梯度近似表达式为: (1.4) (1.5)1.3.3 边缘检测的一般步骤 一般来说,边缘检测的算法有如下四个步骤:1) 滤波:边缘检测算法主要是基于图像增强的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。2) 增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度之有显著变化的点突显出来。边缘增强一般都是通过计算梯度幅值来完成的。3) 检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。4) 定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。 在边缘检测算法中,前三个步骤用的十分普遍。这是由于大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。第二章 经典的图像边缘检测算法 边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。经典的边缘检测方法,是对原始图像中像素的某个邻域来构造边缘检测算子。其过程如图2.1所示。首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。 图2.1 图像边缘检测的过程2.1 经典边缘检测的基本算法图像的局部边缘定义为两个强度明显不同的区域之间的过渡,图像的梯度函数既图像灰度变化的速率将在这些过渡边界上存在最大值。早期的边缘检测是通过基于梯度算子或一阶导数的检测器来估计图像灰度变化的梯度方向,增强图像中的这些变化区域,然后对该梯度进行阈值运算,如果梯度值大于某个给定门限,则存在边缘。一阶微分是图像边缘和线条检测的最基本方法。目前应用比较多的也是基于微分的边缘检测算法。图像函数在点的梯度(即一阶微分)是一个具有大小和方向的矢量,即 (2.1)的幅度为 (2.2)方向角为 (2.3) 以上述理论为依据,人们提出了许多算法,常用的方法有:差分边缘检测、Roberts边缘检测算子、Sobel边缘检测算子、Prewitt边缘检测算子、Kirsch算子、Robinson边缘检测算子、Laplace边缘检测算子等等。所有的基于梯度的边缘检测器之间的根本区别有三点:1) 算子应用的方向。2) 在这些方向上逼近图像一维导数的方式。3) 将这些近似值合成梯度幅值的方式。 2.2 基于梯度的边缘检测算子2.2.1 差分边缘检测 当我们处理数字图像的离散域时,可用图像的一阶差分代替图像函数的导数。二维离散图像函数在方向上的一阶差分定义为: (2.4) (2.5)利用像素灰度的一阶导数算子在灰度迅速变化处得到极值来进行奇异点的检测。它在某一点的值就代表该点的“边缘强度”,可以通过对这些值设置阈值来进一步得到边缘图像。但是用差分检测边缘必须使差分的方向与边缘方向垂直,这就需要对图像的不同方向都进行差分运算,增加了实际运算的繁琐性。一般为垂直边缘、水平边缘、对角线边缘检测: 垂直边缘 水平边缘 对角线边缘 差分边缘检测方法是最原始、基本的方法。根据灰度迅速变化处一阶导数达到最大(阶跃边缘情况)原理,利用导数算子检测边缘。这种算子具有方向性,要求差分方向与边缘方向垂直,运算繁琐,目前很少采用。2.2.1 Roberts算子 由Roberts提出的算子是一种利用局部差分算子寻找边缘的算子,它在邻域上计算对角导数, (2.6)称为Roberts交叉算子。在实际应用中,为了简化计算,用梯度函数的Roberts绝对值来近似 (2.7) 另外还可以用Roberts最大算子来计算 (2.8)上式能够提供较好的不变性边缘取向。对于同等长度但取向不同的边缘,应用Roberts最大值算子比应用Roberts交叉算子所得到的合成幅度变化小。Roberts边缘检测算子的卷积算子为 Roberts边缘检测算子方向模板由上面两个卷积算子对图像运算后,代入(2.7)式,可求得图像的梯度幅度值,然后适当选取门限TH,作如下判断:,为阶跃状边缘点,为一个二值图像,也就是图像的边缘图像。2.2.3 Sobel算子Roberts算子的一个主要问题是计算方向差分时对噪声敏感。Sobel提出一种将方向差分运算与局部平均相结合的方法,即Sobel算子。该算子是以为中心的邻域上计算 和方向的偏导数,即 (2.9) 实际上,上式应用了邻域图像强度的加权平均差值。其梯度大小为: (2.10) 或取绝对值 (2.11) 它的卷积算子为: Sobel边缘检测算子方向模板 由上面两个卷积算子对图像运算后,代入(2.11)式,可求得图像的梯度幅度值,然后适当选取门限TH,作如下判断:,为阶跃状边缘点,为一个二值图像,也就是图像的边缘图像。 Sobel算子很容易在空间实现,Sobel边缘检测器不但产生较好的边缘检测效果,同时,因为Sobel算子引入了局部平均,使其受噪声的影响也比较小。当使用大的邻域时,抗噪声特性会更好,但这样做会增加计算量,并且得到的边缘也较粗。 Sobel算子利用像素上下、左右相邻点的灰度加权算法,根据在边缘点处达到极值这一现象进行边缘的检测。因此Sobel算子对噪声具有平滑作用,提供较为精确的边缘的方向信息,但是这是由于局部平均的影响,它同时也会检测出许多的伪边缘,且边缘定位精度不够高。当对精度要求不是很高时,是一种较常用的边缘检测方法。2.2.4 Prewitt算子 Prewitt提出了类似的计算偏微分估计值的方法 (2.12) 当用两个掩模板(卷积算子)组成边缘检测器时,通常取较大的幅度作为输出值。这使得它们对边缘的走向有些敏感。取它们的平方和的开方可以获得性能更一致的全方位的响应。这与真实的梯度值更接近。另一种方法是,可以将Prewitt算子扩展到八个方向,即边缘样板算子。这些算子样板由离线的边缘子图像构成。依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值,这样可将边缘检测出来。 定义 Prewitt边缘检测算子模板如下: (1)1方向 (2)2方向 (3)3方向 (4)4方向 (5)5方向 (6)6方向 (7)7方向 (8)8方向 八个算子样板对应的边缘方向如下图所示: 图2.2 Prewitt算法八个算子模板对应的边缘方向2.2.5 Robinson算子 Robinson边缘检测算子也是一种边缘样板算子,其算法和Prewitt边缘检测算子相似,只是8个边缘样板不同。如下所示: (1)1方向 (2)2方向 (3)3方向 (4)4方向 (5)5方向 (6)6方向 (7)7方向 (8)8方向 在实际应用中,正如前所述,通常就是利用简单的卷积核来计算方向差分,不同的算子对应不同的卷积核,它们产生的两个偏导数在图像一个点上用均方值或绝对值求和的形式结合起来,一旦估计出梯度值,将梯度值与某个给定的阈值比较,来判断是否存在边缘,如果梯度值大于这个阈值,就认为存在边缘。显然,阈值的选择是很重要的。在噪声图像中,阈值的选择是一个涉及在丢失有效边缘和由于噪声所造成的错误边缘之间进行这折中考虑的问题。2.3 Canny边缘检测算子Canny边缘检测方法是利用局部极值检测边缘的方法,Canny根据边缘检测的要求,定义了下面三个最优准则:1) 最优检测。对真实边缘不漏检,非边缘点不错检,即要求输出信噪比最大。2) 最优检测精度。检测的边缘点的位置距实际的边缘点的位置最近。3) 检测点与边缘点。每一个实际存在的边缘点和检测的边缘点是一一对应的关系。 Canny首次将上述判据用数学的形式表示出来,然后采用最优化数值方法,得到最佳边缘检测模板。对于二维图像,需要使用若干方向的模板分别对图像进行卷积处理,再取最可能的边缘方向。对于阶跃型的边缘,Canny推出的最优边缘检测器的形状与高斯函数的一阶导数类似,二维高斯函数的对称性和可分解性,我们可以很容易的计算高斯函数在任一方向上的方向导数与图像的卷积。因此,在实际应用中可以选取高斯函数的一阶导数作为阶跃型边缘的次最优检测算子。设二维高斯函数为 (2.13)在某一个方向上的一阶方向导数为 (2.14)式中 (2.15)是矢量方向,是梯度矢量。我们将图像与做卷积,同时改变的方向,取得最大值时的就是正交于边缘检测的方向。由 (2.16)得, (2.17)因此,对应于极值的方向 (2.18)在该方向上有最大输出响应,此时 (2.19)二维次最优阶跃边缘算子是以卷积为基础的,边缘强度由决定,而边缘方向为式(4.12)在实际应用中,我们将原始模板截断到有限尺寸。实验表明,当时,能够得到较好的检测效果。Canny边缘检测算子检测的边缘是滤波结果的局部极值点,由于函数的一阶导数局部极值点对应二阶导数的过零点,Canny边缘检测算子对于阶跃边缘可以准确定位,但对于屋顶边缘,Canny边缘检测算子是不适用的。这一点也可以由Canny边缘检测算子的准则是针对阶跃边缘定义反映出来。 Canny算法可以用分解的方法提高速度,即把的二维滤波卷积模板分解为两个一维的行列滤波器 (2.20)其中 (2.21)将式(4.14)分别与图像卷积,得到输出 (2.22)令 (2.23)式(4.17)中反应了图像上的点处的边缘强度,是图像的点的法向矢量(正交于边缘方向)。根据Canny的定义,中心边缘点为算子与图像的卷积在边缘梯度方向上的最大值,这样就可以在每一个点的梯度方向上判断此点强度是否为其邻域的最大值来确定该点是否为边缘点。当一个像素满足以下三个条件时,则被认为是图像的边缘点:1) 该点的边缘强度大于沿该点梯度方向的两个相邻像素点的边