改进的基于Canny算子的图像边缘提取方法_第1页
改进的基于Canny算子的图像边缘提取方法_第2页
改进的基于Canny算子的图像边缘提取方法_第3页
改进的基于Canny算子的图像边缘提取方法_第4页
改进的基于Canny算子的图像边缘提取方法_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北石油大学本科生毕业设计(论文)摘 要边缘检测主要是图像的灰度变化的度量、检测和定位,其实质就是提取图像中不连续的特征,因此边缘检测是图像分割领域的一部分。边缘检测是数字图像分析的前提,检测结果的优劣影响着下一步图像压缩、计算机视觉、模式识别等的应用。因此对它的研究具有现实意义和理论意义,在工程应用占有十分重要的地位。本文对边缘检测理论和算法作了深入的研究,在具体分析各类传统的边缘检测算法的基础上,这里重点研究Canny算子边缘检测算法,并结合传统的Canny算法的双门限选取方法进行改进,达到自适应阈值的效果。最后,利用MATLAB软件工具实现该算法。实验结果表明,改进后的算法较传统的Canny算法取得更好的边缘检测效果。关键词:图像处理;边缘检测;Canny算子;自适应阈值AbstractEdge detection is mainly aimed at measurement, detection and location of the change of image intensity,its essence is to extract the characteristic of the discontinuous parts of images. So the edge detection is part of the image segmentation. Edge detection is the premise of digital image procession, its detection result plays an important impression on the next processing, such as image compression, computer vision, pattern recognition, and so on. Hence, the study of it has practical significance and theoretical significance, and it occupies a very important role in engineering applications.This paper makes an in-depth study on the theory and algorithms of edge detection. Based on specific analysis of various types of traditional edge detection algorithm, this paper focuses on the Canny algorithm. In this paper, Combined with the traditional double threshold selection method to improve the Canny algorithm to make the thresh adaptive.the improved to refine the dual-threshold in the Canny algorithm to make the thresh adaptive. Finally, using MATLAB software tools to implement the algorithm. The experimental results show that the improved algorithm gains better edge detection results than the traditional Canny algorithm.Key words:mage Segmentation; Edge Detection; Canny;Adaptive Threshold目 录第1章 概述11.1 课题的研究背景及意义11.2 课题的研究现状31.3 本文主要研究内容41.4 本章小结5第2章 图像的边缘检测与提取62.1 边缘检测过程62.2 边缘的类型72.3 边缘的判定82.4 本章小结9第3章 常见边缘检测算法103.1 Roberts(罗伯特)边缘算子103.2 Prewitt边缘算子113.3 Sobel边缘算子123.4 Laplacian边缘算子123.5 LOG(高斯-拉普拉斯)边缘算子133.6 本章小结15第4章 传统的Canny算子边缘检测164.1 Canny算子的基本原理164.2 Canny边缘检测算法步骤174.3 Canny算子与其他算子的比较204.4 本章小结24第5章 改进的Canny算子边缘检测255.1 对传统的Canny算法局限性分析255.2 最大熵算法阈值改进自适应阈值255.3 Canny提出提取的三个准则265.4 对改进的Canny算法进行仿真实验275.4 本章小结30结论32参考文献33致 谢35I第1章 概述1.1 课题的研究背景及意义数字图像边缘检测技术起源于20世纪20年代,当时受条件的限制一直没有取得较大进展,直到20世纪60年代后期电子技术、计算机技术有了相当的发展,数字图像边缘检测处理技术才开始进入了高速发展时期。经过几十年的发展,数字图像边缘检测处理技术目前己经广泛应用于工业、微生物领域、医学、航空航天以及国防等许多重要领域,多年来一直得到世界各科技强国的广泛关注。数字图像边缘检测处理技术在最近的10年发展尤为迅速,每年均有数以百计的新算法诞生,其中包括canny算法1、小波变换2等多种有相当影响的算法,这些算法在设计时大量运用数学、数字信号处理、信息论以及色度学的有关知识,而且不少新算法还充分吸取了神经网络、遗传算法、人工智能以及模糊逻辑等相关理论的一些思想,开阔了进行数字图像边缘检测处理的设计思路。现代数字图像边缘检测处理的目标有三:可视化、自动化和定量化:(1)可视化:当图像被采集并显示时,这些图像通常需要改善以便观察者更容易解释它们。感兴趣的目标必须突出或者图像各部位之间的对比度需要增强处理。自从像CT和MRI等三维成像手段问世以来,可视化,特别是三维结构的可视化受到极大的关注。(2)自动化:旨在使一些日常的或繁琐的工作自动化。例如,根据一个染色体分布的显微图像自动确定染色体核型的系统,从一个血液涂片自动生成白细胞分类计数报告的系统。这些应用的特征是要求最小的人工干预,全自动完成分析工作。关于白细胞分类计数应用,市售系统是在1970年开发成功的。但今天这项任务是以完全不同方式(采用流式白细胞计数技术)自动完成。(3)定量化:有关定量化的图像边缘检测的例子有,测量动脉狭窄的程序以及用电子显微镜观察组织切片中特殊成分的定位和定量(如血色素沉着症中的铁元素)。在这些应用中,人工介入是允许的,因为处理时间的长短在这些应用中并不是主要矛盾。数字图像边缘检测处理3,即用计算机对图像的边缘进行处理,这一技术是随着计算机技术发展而开拓出来的一个新的应用领域,汇聚了光学、电子学、数学、摄影技术、计算机技术等学科的众多方面。图像边缘检测处理作为一门学科已经被美国数学学会列为应用数学的一个研究分支。在其短暂的发展历史中,已经被成功的应用在几乎所有与成像有关的领域。近年来,图像分析和处理紧紧围绕理论、实现、应用三方面迅速发展起来。它以众多的学科领域为理论基础,其成果又渗透到众多的学科中,成为理论实践并重,在高新技术领域中占有重要地位的新兴学科分支。图像边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。边缘检测技术对处理数字图像非常重要,因为边缘是目标和背景的分界线,只有将边缘提取出来才能把目标和背景区分开来。图像属性中的显著变化通常反映了属性的重要事件和变化4。边缘处于灰度或结构等信息的突变处,它是一个特征区域的结束同时也是另一个特征区域的开始,边缘所分开的区域内部特征或属性是一致的,而不同区域的特征是不同的。边缘检测就是利用这种目标和背景在图像中特征的不同来实现的,区域之间的差异包括灰度、颜色、纹理等特性上的差异。边缘检测实际上就是检测这些图像图像特性发生变化的位置。图像的边缘有方向和幅度值两种属性,沿边缘方向像素变化平缓,而沿边缘垂直方向像素变化陡峭。最简单的边缘检测方法是边缘检测算子,它是利用微分算子(一阶或二阶导数)来检测图像中像素的这种变化的。边缘检测的基本思想就是通过检测每个像素元以及其邻域的状态,判断该像素元是否位于目标的边缘上,如果该像素元位于某一目标的边缘上,那么其相邻区域的灰度值变化就较大。可以利用某种算法检测出这种变化并进行量化表示,这样就检测出了目标的边缘。有许多用于边缘检测的方法5,它们大致可分为两类:基于搜索和基于零交叉方法。(1)基于搜索的边缘检测方法首先计算边缘强度,通常用一阶导数表示,例如梯度模,然后,用计算估计边缘的局部方向,通常采用梯度的方向,并利用此方向找到局部梯度模的最大值。(2)基于零交叉的方法找到由图像得到的二阶导数的零交叉点来定位边缘。通常用拉普拉斯算子或非线性微分方程的零交叉点。滤波做为边缘检测的预处理通常是必要的,通常采用高斯滤波。已发表的边缘检测方法应用计算边界强度的度量,这与平滑滤波有本质的不同。正如许多边缘检测方法依赖于图像梯度的计算,他们用不同种类的滤波器来估计x方向和y方向的梯度。常用的边缘检测算子主要有罗伯特(Roberts)边缘算子、索贝尔(Sobel)边缘算子、Prewitt边缘算子、拉普拉斯(Laplacian)边缘算子、高斯-拉普拉斯(Laplacian of Gaussian)边缘算子和坎尼(Canny)边缘算子。Canny算子是最常用的边缘检测算法。本文主要讨论的是通过研究Canny算子检测边缘的优缺点以及怎样改进算法才能使检测效果达到理想效果。1.2 课题的研究现状自从计算机问世以来,数字图像边缘检测和分析的方法不断发展,与早期相比已不可同日而语。首先计算机在运算速度和存储能力两方面明显增加。千兆字节磁盘的问世使早期计算机认为复杂的难以实现的方法重显生机,并可付诸应用。在开发TV摄像机和CCD传感器等方面也取得很大的进展,现代的传感器其空间分辨力和强度分辨力比早期系统有很大提高。早期应用多在单个图像的分析上,现今多模图像的分析变得越来越重要。多谱成像的应用使来自不同成像模式的信息融合成为可能(如在医学中X线核磁共振成像的融合)。甚至三维分析(如序列图像或随时间的图像变化)以及四维分析(如随时间变化的序列断面图像),现在已成为可实现的目标。就软件而言,知识引导方法已变得日趋重要。当自上而下(top-down direction)应用这些方法时,研究对象(如肝脏)计算机模型引导图像边缘检测操作集中到图像(如肝扫描图像)中我们感兴趣的部位;而当自下而上(button-up direction)应用这些方法时,图像边缘检测所获得有关细节的信息可参照该模型加以核查,以确定相互之间的关系。已有许多图像生成技术问世,但除图像恢复技术以外,图像边缘检测技术在很大程度上与图像形成的过程无关。一旦图像已被采集并且已对获取过程中产生的失真进行了校正,那么所有可用图像边缘检测技术本质上是通用的。因此,图像边缘检测是一种超越具体应用的过程:任何为解决某一特殊问题而开发的图像边缘检测新技术或新方法,几乎肯定能找到其他完全不同的应用领域。图像边缘检测已应用于现代社会的许多领域。在所有这些领域中的使用方法和技术都很相似,故医疗卫生中的图像边缘检测方法大部分借鉴其他科学和工业领域中的图像边缘检测应用。从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像边缘检测向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域6。数字图像边缘检测与提取处理的主要应用领域7有:(1)航天和航空技术方面的应用,数字图像边缘检测技术在航天和航空技术方面的应用,除了月球、火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中。从60年代末以来,美国及一些国际组织发射了资源遥感卫星(如LANDSAT系列)和天空实验室(如SKYLAB),由于成像条件受飞行器位置、姿态、环境条件等影响,图像质量总不是很高。现在改用配备有高级计算机的图像边缘检测系统来判读分析首先提取出其图像边缘,既节省人力,又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。(2) 生物医学工程方面的应用,数字图像边缘检测在生物医学工程方面的应用十分广泛,而且很有成效。除了CT技术之外,还有一类是对阵用微小图像的处理分析,如红细胞、白细胞分类检测,染色体边缘分析,癌细胞特征识别等都要用到边缘的判别。此外,在X光肺部图像增强、超声波图像边缘检测、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像边缘分析处理技术。(3)公安军事方面的应用,公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。目前己投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别(主要是汽车牌照的边缘检测与提取技术)都是图像边缘检测技术成功应用的例子。在军事方面图像边缘检测和识别主要用于导弹的精确制导,各种侦察照片的判读,对不明来袭武器性质的识别,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等; (4)交通管理系统的应用,随着我国经济建设的蓬勃发展,城市的人口和机动车拥有量也在急剧增长,交通拥挤堵塞现象日趋严重,交通事故时有发生。交通问题已经成为城市管理工作中的重大社会问题,阻碍和制约着城市经济建设的发展。因此要解决城市交通问题,就必须准确掌握交通信息。目前国内常见的交通流检测方法有人工监测、地埋感应线圈、超声波探测器、视频监测4类。其中,视频监测方法比其他方法更具优越性。视频交通流检测及车辆识别系统是一种利用图像边缘检测技术来实现对交通目标检测和识别的计算机处理系统。通过对道路交通状况信息与交通目标的各种行为(如违章超速,停车,超车等等)的实时检测,实现自动统计交通路段上行驶的机动车的数量、计算行驶车辆的速度以及识别划分行驶车辆的类别等各种有关交通参数,达到监测道路交通状况信息的作用。1.3 本文主要研究内容本文对边缘检测理论和算法作了深入的研究,在具体分析各类传统的边缘检测算法的基础上,这里重点研究Canny算子边缘检测算法,并结合传统的Canny算法的双门限选取方法进行改进,达到自适应阈值的效果。最后,利用MATLAB软件工具实现该算法。实验结果表明,改进后的算法较传统的Canny算法取得更好的边缘检测效果。本文的研究工作包括:(1)介绍图像边缘检测基础及其基本原理。(2)介绍Canny边缘检测算法的基本思想并详细介绍了边缘检测的其他几种算子方法。(3)提出用MATLAB对各算子进行仿真并进行比较,得出个边缘检测算法的优缺点。(4)对传统的Canny边缘检测算法的局限性进行分析,并讨论研究怎样改进Canny算子边缘检测方法,得到更好的边缘检测效果。1.4 本章小结本章主要针对图像边缘检测的起源背景、研究意义做了详细的介绍。图像边缘检测技术也随着现代科技技术尤其是计算机技术的发展而不断发展,同样不断地更新的图像边缘检测技术被应用到航天航空、生物医学、军事应用、交通管理等方面。简明地阐述了边缘检测在未来的发展前景是广阔的,此课题的研究是具有重要意义的。第2章 图像的边缘检测与提取2.1 边缘检测过程边缘是图像最基本的特征,所谓边缘就是指周围灰度强度有反差变化的那些像素的集合,是图像分割所依赖的重要基础,也是纹理分析和图像识别的重要基础。理想的边缘检测应当正确解决边缘的有无、真假、和定向定位,长期以来,人们一直关心这一问题的研究,除了常用的局部算子及以后在此基础上发展起来的种种改进方法外,又提出了许多新的技术。要做好边缘检测初步准备条件8如下:第一,清楚待检测的图像特性变化的形式,从而使用适应这种变化的检测方法。第二,要知道特性变化总是发生在一定的空间范围内,不能期望用一种检测算子就能最佳检测出发生在图像上的所有特性变化。当需要提取多空间范围内的变化特性时,要考虑多算子的综合应用。第三,要考虑噪声的影响,其中一个办法就是滤除噪声,这有一定的局限性;再就是考虑信号加噪声的条件检测,利用统计信号分析,或通过对图像区域的建模,而进一步使检测参数化。第四,可以考虑各种方法的组合,如先找出边缘,然后在其局部利用函数近似,通过内插等获得高精度定位。第五,在正确检测边缘的基础上,要考虑精确定位的问题。经典的边缘检测方法得到的往往是断续的、不完整的结构信息,噪声也较为敏感,为了有效抑制噪声,一般都首先对原图像进行平滑,再进行边缘检测就能成功地检测到真正的边缘。从人的直观感受来说,边缘对应于物体的几何边界。图像上灰度变化剧烈的区域比较符合这个要求,我们一般会以这个特征来提取图像的边缘。但在遇到包含纹理的图像上,这有点问题,比如说,图像中的人穿了黑白格子的衣服,我们往往不希望提取出来的边缘包括衣服上的方格。这就又涉及到纹理图像的处理等方法。但一般认为边缘提取是要保留图像的灰度变化剧烈的区域,这从数学上,最直观的方法就是微分(对于数字图像来说就是差分),在信号处理的角度来看,也可以说是用高通滤波器,即保留高频信号。用于图像识别的边缘提取往往需要输出的边缘是二值图像,即只有黑白两个灰度的图像,其中一个灰度代表边缘,另一个代表背景。此外,还需要把边缘细化成只有一个像素的宽度。一般,边缘检测有四个步骤:(1) 滤波:边缘检测是通过计算图像的一阶导数和二阶导数,而图像的噪声会影响导数的求取,所以通常在计算梯度导数之前先进行滤波平滑处理。很多滤波器在去除噪声的同时使得图像模糊化,带来边缘细节的丢失。因此,需要综合考虑增强边缘和减少噪声的两个方面。(2) 增强:增强边缘主要是通过梯度算子来求得梯度幅值,梯度幅值反映了图像各像素点邻域内的变化程度,增强操作使得图像差异更加明显。(3) 检测:通过梯度算子计算出梯度幅值,由于图像的很多很多像素点具有较大的梯度幅值,但是这些像素点有的是边缘有的不是边缘点,此时需要对边缘点进行判断,可以通过设定梯度幅值阈值进行边缘点的判断。(4) 定位:若需要进一步定位边缘,精确找出边缘的位置可以在子像素分辨率上进行9。一般的边缘检测算法,都应用到前三个步骤,而对于边缘定位通常是不需要精确定位边缘的位置。总的说来传统边缘检测的流程图2-1所示:原始图 像 滤波图 像平滑图 像得出边缘的二值化图像既检出边缘点阈值分 割梯度算子边缘增强边缘检测边缘定位图像滤波图2-1 边缘检测的流程图特征提取作为图像边缘检测的一个重要内容,发展了众多的方法。这些方法经过实践的检验,成为了经典的内容。经典的边缘检测算子包括:Roberts算子,Prewitt算子,Sobel算子,LOG(Laplacian of Gaussian)算子等。这些经典的边缘提取算子在使用时都是使用预定义好的边缘模型去匹配。2.2 边缘的类型目前,具有对边缘的描述性定义,即两个具有不同灰度的均匀图像区域的边界,即边界反映局部的灰度变化。局部边缘是图像中局部会聚集以简单(即单调)的方式做极快变换的小区域。这种局部变化可用一定窗口运算的边缘检测算子来检测。边缘的描述包含以下几个方面:1、边缘法线方向在某点灰度变化最剧烈的方向,与边缘方向垂直;2、边缘方向与边缘法线方向垂直,是目标边界的切线方向;3、边缘强度沿边缘法线方向图像局部的变化强度的量度。一般认为沿边缘方向的灰度变化比较平缓,而边缘法线方向的灰度变化比较剧烈。图像上的边缘点可能对应不同的物理意义。1)空间曲面上得不连续点。这些边缘线为两个不同曲面或平面的交线,该点处物体表面的法线方向不连续。2)物体与背景的分界线。3)不同材料组成的边缘线。由于它们对光的反射系数不同,因此边缘线的两侧灰度具有明显差别。4)阴影引起的边缘。由于物体表面某一部分被另一物体遮挡,使得它得不到光源的照射或照射不充分,从而引起边缘点两侧灰度值有较大的差异。四种常见的图像边缘类型如下:第一种是斜坡边缘,就是从一个灰度值跳到比它高的另一个灰度值,边缘的特征一般用其高度、倾斜角和斜坡中点的水平坐标值来表述。第二种是阶跃型边缘,如果斜坡边缘的倾斜角为90度时,此时对应的边缘就称为阶跃边缘,在数字图像处理中,阶跃边缘一般不存在。第三种是屋顶型边缘,其灰度值先逐渐增加再逐渐减小。第四种是线性边缘,也称为脉冲边缘,从一个灰度值变到另一个灰度值再变回原来的,具体的如图2-2所示。(a)斜坡边缘 (b)阶梯边缘 (c)屋顶边缘 (d)线性边缘图2-2 边缘类型2.3 边缘的判定由此可见,边缘表现为灰度值不连续,在数学中不连续特性可以用函数的一阶导数和二阶导数来检测。以下是阶跃、脉冲、屋顶型边缘的导数图2-3所示。图2-3(a)中,对剖面图进行一阶求导,可以看出在图像灰度值由低到高变化时有一个阶跃,而在其他地方为零。所以通过一阶导数的幅值来判断是否存在边缘,其中一阶导数的幅值最值点通常就是边缘点。对灰度值的一阶导数再次求导也即得到其二阶导数,观察图2-3(a),二阶导数的零点正好对应灰度剖面图的边缘点,因此边缘也可以利用二阶导数的过零点来检测。图2-3 图像边缘和对应的导数示例图2-3(c)脉冲边缘的灰度剖面图与图2-3(a)阶跃边缘的一阶导数一样,要检测出脉冲大小可以通过检测脉冲边缘的二阶导数的两个过零点。数字图像可以用离散的二元函数表示,其自变量对应于像素的坐标位置,因此通常用差分来代替微分10。2.4 本章小结本章主要针对图像边缘检测算法步骤进行介绍,在进行边缘检测之前,必须考虑五个初步准备条件,当满足条件时,才能具体研究边缘检测。边缘检测的检测步骤有:滤波、增强、检测、定位。一般的边缘检测算法,都应用到前三个步骤,而对于边缘定位通常是不需要精确定位边缘的位置。除图像边缘检测的主要流程之外,具体介绍边缘的类型以及边缘是怎样判定。第3章 常见边缘检测算法3.1 Roberts(罗伯特)边缘算子Roberts边缘检测算子是最早的梯度算子,它是一种利用局部差分算子寻找边缘的算子。任意一对相互垂直方向上的差分可以看成是梯度的近似求解,Roberts算子就是利用该原理,即用对角线上相邻像素之差来代替梯度求解11。Roberts边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的原理,用22模板来近似计算在点对和的偏导数,见式(3-1)、式(3-2): (3-1) (3-2)或 (3-3)他们的卷积模板为 (3-4)有了,之后,很容易计算Roberts的梯度幅值,适当取门限T,做如下判断:当T时,为阶跃边缘点,为边缘图像。反之则不是。Roberts算子平滑噪声作用较小,对噪声较为敏感。该算法仅采用了对角线上相邻像素之差进行梯度幅度检测,并未考虑水平相邻像素和垂直相邻像素的情况,无法消除局部噪声干扰,也会丢失灰度值变化缓慢的局部边缘,这样就会导致目标物体的边缘轮廓不连续。此外,传统的Roberts算子检测图像边缘受人的主观因素影响,不具有自动调节能力。因此,经典的Roberts算子适用于边缘明显且噪声较少的图像,我们可以根据实际需要对Roberts算子加以改进以扩大其适用范围。3.2 Prewitt边缘算子Prewitt边缘检测算子就是一种利用局部差分平均方法寻找边缘的算子,它体现了三对像素点像素值之差的平均概念,因为平均能减少或消除噪声,为此我们可以先求平均,再求差分。用33模板在图像区域的的第3行和第1行的差近似于x方向上的导数,第3列和第1列之差近似于y方向上的导数,近似计算图像函数在点对和的偏导数,见式(3-5)、式(3-6) (3-5) (3-6)在此基础上,有人提出了改进的Prewitt算子,将其扩展到八个方向,依次用这些边缘模板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值,这样就可以将边缘像素检测出来了。八个方向的Prewitt算子模板及其所对应的边缘方向若下图3-1所示: 0o方向 45o方向 90o方向 135o方向 180o方向 225o方向 270o方向 315o方向图3-1 Prewitt算子模板及其所对应的边缘方向3.3 Sobel边缘算子Sobel算子在Prewitt边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。对数字图像的每个像素点,考察它上、下、左、右邻点灰度加权差,与之接近的邻点的权值大。据此,用33模板在Prewitt边缘算子基础上将重心系数上使用一个权值2,权值212用于增加中心点的重要性来实现平滑效果,近似计算图像函数在点对和的偏导数,见式(3-7)、式(3-8): (3-7) (3-8)图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到梯度幅值G ( x,y),然后选取适当的阈值,若G ( x,y),则(i ,j)为边缘点,否则,判断(i ,j)为非边缘点。由此得到一个二值图像 g (i,j),即边缘图像。Sobel算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时,由于其引入了局部平均,使其受噪声的影响也较小。若使用较大的邻域,抗噪性会更好,但也增加了计算量,并且得到的边缘比较粗。在对精度要求不是很高的场合下,Sobel 算子是一种较为常用的边缘检测算法。3.4 Laplacian边缘算子拉普拉斯算子一种二阶边缘检测算子,它是一个线性的、移不变算子。是对二维函数进行运算的二阶导数算子,对一个连续函数f(x, y)它在图像中的位置(x,y),拉普拉斯值定义为: (3-9)Laplacian算子利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个对零交叉点判断边缘。其4邻域系统和8邻域系统的Laplacian算子的模板分别如图3-2所示1-81111图3-2 邻域Laplacian算子通常使用的拉普拉斯算子33模板如图3-3所示:-1-1-1-18-1-1-1-1-101-242-101-1-2-1000121 图3-3 拉普拉斯算子33模板Laplacian算子对噪声比较敏感,Laplacian算子有一个缺点是它对图像中的某些边缘产生双重响应。所以图像一般先经过平滑处理,通常把Laplacian算子和平滑算子结合起来生成一个新的模板。3.5 LOG(高斯-拉普拉斯)边缘算子LOG算子是一种利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以在边缘增强前滤除噪声。为此,马尔(Marr)和希尔得勒斯(Hildreth)根据人类视觉特性提出了一种边缘检测的方法,该方法将高斯滤波和拉普拉斯检测算子结合在一起进行边缘检测的方法,故称为Log(Laplacian of Gassian )算法。也称之为拉普拉斯高斯算法。该算法的主要思路和步骤如下:(1)滤波:首先对图像f(x,y)进行平滑滤波,其滤波函数根据人类视觉特性选为高斯函数,即: (3-10)其中,G(x,y)是一个圆对称函数,其平滑的作用是可通过来控制的。将图像与进行卷积,可以得到一个平滑的图像,即: (3-11)(2)增强:对平滑图像进行拉普拉斯运算,即: (3-12)(3)检测:边缘检测判据是二阶导数的零交叉点(即 的点)并对应一阶导数的较大峰值。这种方法的特点是图像首先与高斯滤波器进行卷积,这样既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除。但是由于平滑会造成图像边缘的延伸,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点。这一点可以用二阶导数的零交叉点来实现。拉普拉斯函数用二维二阶导数的近似,是因为它是一种无方向算子。在实际应用中为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点13。由于对平滑图像进行拉普拉斯运算可等效为的拉普拉斯运算与的卷积,故上式变为: = (3-13)式中称为LOG滤波器,其为:= + = (3-14)这样就有两种方法求图像边缘:先求图像与高斯滤波器的卷积,再求卷积的拉普拉斯的变换,然后再进行过零判断。求高斯滤波器的拉普拉斯的变换,再求与图像的卷积,然后再进行过零判断。这两种方法在数学上是等价的。上式就是马尔和希尔得勒斯提出的边缘检测算子(简称M-H算子),由于LOG滤波器在空间中的图形与墨西哥草帽形状相似,所以又称为墨西哥草帽算子14。拉普拉斯算子对图像中的嗓声相当敏感。而且它常产生双像素宽的边缘,也不能提供边缘方向的信息。高斯-拉普拉斯算子是效果较好的边沿检测器,常用的55模板的高斯-拉普拉斯算子如图3-4所示:高斯-拉普拉斯算子把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平化掉噪声,再进行边缘检测,所以效果更好。00-100-1-20-1-216-10-1-2000-10-2-4-4-2-408-4-482-4-408-4-2-4-4-2图3-4 高斯拉普拉斯算子3.6 本章小结本章主要介绍了常见的边缘检测算子的基本原理,详细地说明了梯度算子、Roberts(罗伯特)算子、Prewitt算子、Sobel(索贝尔)算子、Laplacian(拉普拉斯)算子、LOG(高斯拉普拉斯)算子的基本思想和原理。第4章 传统的Canny算子边缘检测4.1 Canny算子的基本原理检测阶跃边缘的基本思想是从图像中检测出具有局部最大梯度幅值的像素点。检测阶跃边缘进行的工作的重点主要集中在寻找能够用于实际图像的梯度数字逼近。由于实际图像经过系统固有的低通滤波器的平滑,因此,图像中的阶跃边缘不是那么陡峭,同时图像也可能受摄像机及周边背景的干扰。所以,图像梯度逼近必须满足两个条件15:(1) 逼近必须能够抑制噪声效应。(2) 必须尽量精准地确定边缘的位置。抑制噪声和边缘精确定位是两个矛盾体,是不可能同时满足的,也就是说,边缘检测算法通过图像平滑算子来去除噪声,但却失去了精确定位的能力;反过来说,若想要提高边缘检测算子对图像边缘的准确性,但同时也增加了对噪声的敏感性。Canny边缘算子正好满足上述条件,在抗噪声干扰和精确定位之间可以提供最佳折中方案,它是高斯函数的一阶导数,它在边缘方向上是对称的,在垂直边缘的方向上是反对称的。这就意味着它在对急剧变化方向上的边缘特征特别敏感,但在沿边缘方向上不是很敏感,就像平滑算子一样是对信噪比与定位之乘积的最优化逼近算子。Canny算子边缘检测的基本思想:采用二维高斯函数的任意方向上的一阶导数为噪声高斯滤波器,利用与图像卷积进行平滑滤波,然后对经过滤波之后的图像寻找局部梯度极大值,用“非极大值抑制”技术对平缓后的图像处理后,得到最后我们要检测出的图像边缘。Canny算子给出评价边缘检测性能的3个指标16如下:(1) 信噪比准则:对边缘的错误检测率要尽可能低,不丢失重要的边缘;一方面也不要出现虚假的边缘,使输出的信噪比最大。信噪比越大,提取的边缘质量越高。定义信噪比SNR为: (4-1)其中G(x)代表边缘函数,h(x)代表宽度为W的滤波器的脉冲响应,代表高斯噪声的均方差。(2) 定位精度准则:检测到的边缘位置要和图像上真正边缘的中心位置充分接近。 (4-2)其中和分别是和的导数。L越大表明定位精度越高。(3) 单边响应准则:对同一边缘要有低的响应次数。即单个边缘产生的多个响应的概率要低,并且虚假的边缘响应应得到最大抑制。为了保证单边缘只有一个响应,检测算子的脉冲响应导数的零交叉点平均离应满足: (4-3)其中,是的二阶导数。以上述指标和准则为基础,利用函数求导的方法可导出Canny边缘检测器是信噪比与定位之乘积的最优逼近算子。将Canny三个准则结合可以获得最优的检测算子。4.2 Canny边缘检测算法步骤Canny边缘检测的算法流程为:(1)首先用2D高斯滤波模板与原始图像进行卷积,以消除噪声;(2)用一阶偏导的有限差分来计算梯度的幅值和方向;(3)对梯度幅值进行非极大值抑制;(4)用双阈值算法检测和连接边缘。Canny算子边缘检测的方法是寻找图像梯度的局部最大幅值。梯度是用高斯滤波器的导数计算的。Canny方法使用两个阈值来分别检测强边缘和弱边缘,而且仅当强边缘和弱边缘相连时,弱边缘才会包含在输出中。因此,此方法不容易受噪声的干扰,能够检测到真正的弱边缘。算法流程如图4-1:输入图像平 滑滤 波梯 度计 算非极大值抑制双门限检测输出边缘图像图4-1 Canny算法流程图(1)用高斯滤波器平滑图像。用表示图像,使用可分离滤波方法求出图像与高斯平滑滤波器卷积,到一个已平滑数据阵列: (4-4)式中,是高斯函数的散步参数,它表示控制平滑的程度。已平滑的数据阵列的梯度可以用22一阶有限差分来计算x与y的偏导数求出两个阵列与为: (4-5) (4-6)(2)用一阶偏导的有限差分来计算梯度的幅值和方向。在这个22正方形内求出有限差分的均值,以便在图像中的同一点计算x和y的偏导数梯度19。幅值和方位角可以用直角坐标到极坐标的坐标转化公式计算。 (4-7) (4-8)其中,反正切函数包含两个参量,表示一个角度,其取值范围为0o360o。大多数的反正切函数计算使用的是定点计算,为了高效率计算这些函数,尽量不使用浮点运算。(3) 对梯度幅值应用非极大值抑制。在之前的操作中仅仅把图像快速变化的问题转化成求幅值阵列的局部最大值问题,为了确定图像的边缘,必须细化幅值图像中的屋脊带(Ridge),即只保留幅值局部变化最大的点。我们把这一过程就叫做非极大值抑制,它会生成经过细化的边缘。非极大值抑制是通过抑制梯度线上所有非屋脊峰值的幅值来细化中的梯度幅值屋脊。首先,将方位角的变化范围缩小到圆周的四个扇区之一,如图4-2所示。图4-2 用于非最大值抑制的可能梯度方向划分示意图4个扇区的标号为03,对应着33邻域内元素的四种组合,任何通过邻域中心必通过其中一个扇区。梯度线可能方向的圆周分区用度来标记。 (4-9)使用一个33邻域作用于幅值阵列的所有点。在每一点上,邻域的中心像素与沿梯度线的两个元素进行比较,其中梯度线是由邻域的中心点处的扇区值决定的。如果邻域中心处的幅值比沿梯度线方向上的两个相邻点幅值小,则把赋值为零。这样可以将宽屋脊带细化成只有一个像素点宽。在非最大值抑制过程中,保留了屋脊的高度值20。设 (4-10)表示非极大值抑制过程,中的非零值表示图像强度阶跃变化的对比度。虽然在第一步骤时进行了平滑,但是在非极大值抑制幅值图像仍会包含许多由噪声和细纹理引起的假边缘。(4) 用双阈值算法检测和连接边缘。为了减少假边缘,对使用一个阈值,并将小于阈值的所有值都赋值为零。对非极大值抑制幅值进行阈值化后得到一个图像的边缘阵列。但是经过阈值化后得到的边缘阵列仍然存在假边缘,这是因为阈值太多和阴影的存在,使边缘对比度减弱;或者阈值太高而致使部分的轮廓丢失。那么选择合适的阈值时相当困难的,需要反复实验。有效的一种方法就是用两个阈值即双阈值算法21。双阈值算法对非最大值抑制图像作用,双阈值和,且,同时得到两个阈值边缘T1i,j和T2i,j。那么是利用高阈值得到的,因此它含有很少的假边缘,但可能在轮廓上有间断。双阈值法在T2i,j中把边缘连接成轮廓,当到达轮廓的端点时,在T1i,j的8临点22位置上寻找可以连接到轮廓上的边缘,并不断地在T1i,j中收集边缘,直到将T2i,j中所有的间隙连接起来为止。4.3 Canny算子与其他算子的比较各边缘算子产生的边缘图像具有一定的相似性,在边缘检测中,边缘定位能力与噪声抑制能力是一对矛盾体,有的算子边缘定位能力比较强,有的算子抗噪声能力比较强。各算子的参数也对边缘检测定位能力和抑制噪声能力有很大的影响,每种算子各有优缺点,下面用MATLAB软件分别实现各算子的边缘检测,分析并比较各算子的优缺点。引用MATLAB软件工具箱里的图像处理函数edge()对Lena标准图像进行仿真比较,分析各算子的优缺点。 (a) Lena原灰度图像 (b) roberts算子提取 (c) Prewitt算子提取 (d) sobel算子提取 (e) log算子提取 (f) canny算子提取图4-3 Lena图像各算子边缘提取比较从检测结果中可以看出:Roberts算子检测出的边缘简单直观,但边缘检测图里存在伪边缘。它是利用局部差分算子寻找边缘的,边缘定位精度较高,但容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声能力。该算子对具有陡峭边缘且含噪声少的图像效果好。Sobel算子和Prewitt算子能检测出更多的边缘,但存在有伪边缘且检测出来的边缘线比较粗,它们都是对图像先做加权平滑处理,然后再进行微分运算,它们之间的不同是平滑部分的权值不同,所以它们有一定的能力抑制噪声。Sobel算子比Prewitt算子在噪声方面更好一点,但不能完全保证检测出的结果中没有虚假边缘。虽然两个算子边缘定位能力不错,但检测出的边缘容易出现多像素宽度。Log算子能检测出绝大部分边缘,也基本上是单像素宽,但是边缘不连续情况严重并存在误差。它在拉普拉斯算子基础上克服了抗噪声性能力差的弱点,但在抑制噪声效应的同时也可能使原来比较尖锐的边缘也平滑掉了。在使用Log算子时,高斯函数中方向参数的选择非常关键,它对图像边缘检测效果影响很大。高斯滤波器是低通滤波器,越大,通频带越窄,对较高频噪声的抑制作用就越大,这样就避免了产生虚假边缘,但图像的某些边缘点造成丢失了。反之,如果越小,通频带越宽,可以检测出更高频率的边缘,但抑制噪声的能力也同时下降了,容易出现伪边缘。Canny算子能较好的检测出边缘,但是检测出的边缘是单像素。它是基于最优化思想推出的边缘检测算子。它具有较强的抑制噪声能力,但同时也将造成边缘丢失。它是最优的阶梯形边缘检测算子。从以下三个标准来讲,Canny边缘检测算子对受白噪声影响的阶跃型边缘是最优的。 检测标准:不丢失重要边缘,不存在虚假边缘。 定位标准:检测到的边缘与实际边缘位置之间的偏差最小。 单响应标准:将多个响应降低为单个边缘算子。 (a) Take_photo原图像 (b) roberts算子提取 (c) Prewitt算子提取 (d) sobel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论