资源描述
目 录
前 言 1
第1章 图像边缘检测与提取概述 1
1.1 图像边缘的定义 2
1.2 图像边缘检测算法的研究内容 3
1.3 图像边缘检测算法的主要应用 4
1.4 图像边缘检测算法的发展前景 6
第2章 图像的边缘检测与提取 7
2.1 引言 7
2.2 边缘检测与提取过程 9
2.3 边缘检测与提取主要算法 10
2.3.1 Roberts边缘算子 10
2.3.2 Sobel边缘算子 11
2.3.3 Prewitt边缘算子 11
2.3.4 Laplacian边缘算子 12
2.3.5 Log边缘算子 12
2.3.6 Canny边缘算子 14
第3章 算法的选择和实现 16
3.1 坎尼(Canny)算法 17
3.2 高斯—拉普拉斯(Log)算法 18
第4章 试验结果的分析、比较及存在的问题 19
结束语 26
谢 辞 27
参考文献 28
附录 28
前 言
在实际图像边缘检测问题中,图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。它在图像识别,图像分割,图像增强以及图像压缩等的领域中有较为广泛的应用,也是它们的基础。
图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。而边缘检测算法则是图像边缘检测问题中经典技术难题之一,它的解决对于我们进行高层次的特征描述、识别和理解等有着重大的影响;又由于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解决如何构造出具有良好性质及好的效果的边缘检测算子的问题。
经典的边界提取技术大都基于微分运算。首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。本文主要介绍几种经典的边缘提取算法,选取两种用MATLAB语言编程实现,对提取结果进行比较和分析。
第1章 图像边缘检测与提取概述
数字图像边缘检测技术起源于20世纪20年代,当时受条件的限制一直没有取得较大进展,直到20世纪60年代后期电子技术、计算机技术有了相当的发展,数字图像边缘检测处理技术才开始进入了高速发展时期。经过几十年的发展,数字图像边缘检测处理技术目前己经广泛应用于工业、微生物领域、医学、航空航天以及国防等许多重要领域,多年来一直得到世界各科技强国的广泛关注。
数字图像边缘检测处理技术在最近的10年发展尤为迅速,每年均有数以百计的新算法诞生,其中包括canny算法、小波变换等多种有相当影响的算法,这些算法在设计时大量运用数学、数字信号处理、信息论以及色度学的有关知识,而且不少新算法还充分吸取了神经网络、遗传算法、人工智能以及模糊逻辑等相关理论的一些思想,开阔了进行数字图像边缘检测处理的设计思路。
现代数字图像边缘检测处理的目标有三:可视化、自动化和定量化:
(1)可视化:当图像被采集并显示时,这些图像通常需要改善以便观察者更容易解释它们。感兴趣的目标必须突出或者图像各部位之间的对比度需要增强处理。自从像CT和MRI等三维成像手段问世以来,可视化,特别是三维结构的可视化受到极大的关注。
(2)自动化:旨在使一些日常的或繁琐的工作自动化。例如,根据一个染色体分布的显微图像自动确定染色体核型的系统,从一个血液涂片自动生成白细胞分类计数报告的系统。这些应用的特征是要求最小的人工干预,全自动完成分析工作。关于白细胞分类计数应用,市售系统是在1970年开发成功的。但今天这项任务是以完全不同方式(采用流式白细胞计数技术)自动完成。
(3)定量化:有关定量化的图像边缘检测的例子有:测量动脉狭窄的程序以及用电子显微镜观察组织切片中特殊成分的定位和定量(如血色素沉着症中的铁元素)。在这些应用中,人工介入是允许的,因为处理时间的长短在这些应用中并不是主要矛盾。
数字图像边缘检测处理,即用计算机对图像的边缘进行处理,这一技术是随着计算机技术发展而开拓出来的一个新的应用领域,汇聚了光学、电子学、数学、摄影技术、计算机技术等学科的众多方面。图像边缘检测处理作为一门学科已经被美国数学学会列为应用数学的一个研究分支。在其短暂的发展历史中,已经被成功的应用在几乎所有与成像有关的领域。近年来,图像分析和处理紧紧围绕理论、实现、应用三方面迅速发展起来。它以众多的学科领域为理论基础,其成果又渗透到众多的学科中,成为理论实践并重,在高新技术领域中占有重要地位的新兴学科分支。
1.1 图像边缘的定义
所谓图像边缘(Edlge)是指图像局部特性的不连续性,例如,灰度级的突变,颜色的突变,纹理结构的突变等。边缘广泛存在于目标与目标、物体与背景、区域与区域(含不同色彩)之间,它是图像分割所依赖的重要特征。本为主要讨论几种典型的图像灰度值突变的边缘检测方法,其原理也是用于其他特性突变的边缘检测。
图像的边线通常与图像灰度的一阶导数的不连续性有关。图像灰度的不连续性可分为两类:阶跃不连续,即图像灰度再不连续出的两边的像素的灰度只有明显的差异,如图1.1所示,线条不连续,即图像灰度突然从一个值变化到另一个值,保持一个较小的行程又返回到原来的值。在实际中,阶跃和线条边缘图像是较少见的,由于空间分辨率(尺度空间)、图像传感器等原因会使阶跃边缘变成斜坡形边缘,线条边缘变成房顶形边缘。它们的灰度变化不是瞬间的而是跨越一定距离的。
阶跃型 房顶型 突圆型
图1.1 边缘灰度变化
在讨论边缘检测方法之前,首先介绍一些术语的定义。
(1) 边缘点:图像中灰度显著变化的点。
(2) 边缘段:边缘点坐标及方向的总和,边缘的方向可以是梯度角。
(3) 轮廓:边缘列表,或者是一条边缘列表的曲线模型。
(4) 边缘检测器:从图像抽取边缘(边缘点或边线段)集合的算法。
(5) 边缘连接:从无序边缘形成有序边缘表的过程。
(6) 边缘跟踪:一个用来确定轮廓图像(指滤波后的图像)的搜索过程。
在实际中边缘点和边缘段都称为边缘。
1.2 图像边缘检测算法的研究内容
图像边缘检测和分析可定义为应用一系列方法获取、校正、增强、变换、检测或压缩可视图像的技术。其目的是提高信息的相对质量,以便提取有用信息。图像边缘检测中的变换属于图像输入-图像输出模式,图像边缘检测是一种超越具体应用的过程,任何为解决某一特殊问题而开发的图像边缘检测新技术或新方法,几乎肯定都能找到其他完全不同的应用领域。
图像边缘检测的主要研究内容包括:
(1) 图像获得和抽样,其中通过人眼观察的视野获取图像的问题有:最常用的图像获取装置——电视(TV)摄像机问题,对所获得信号进行独立的采样和数字化就可用数字形式表达景物中全部彩色内容;电荷-耦合装置,用作图像传感器,对景物每次扫描一行,或通过平行扫描获得图像;选择正确的分辨力或采样密度,一幅图像实质上是二维空间中的信号,所以适用于信号处理的法则同样适用于图像边缘检测,在放射学中常常需要高分辨力,要求图像至少达到2048像素×2048像素;灰度量化,图像强度也必须进行数字化,通常以256级(按1字节编码)覆盖整个灰度,一般一幅灰度分辨力为8位,空间分辨力为512像素×512像素的图像需0.25兆字节的存贮容量。
(2) 图像分割,目的是把一个图像分解成它的构成成分,以便对每一目标进行测量。图像分割是一个十分困难的过程。但其测量结果的质量却极大地依赖于图像分割的质量。有两类不同的图像分割方法。一种方法是假设图像各成分的强度值是均匀的并利用这种均匀性;另一种方法寻找图像成分之间的边界,因而是利用图像的不均匀性。主要有直方图分割,区域生长,梯度法等。
(3) 边界查索,用于检测图像中线状局部结构,通常是作为图像分割的一个预处理步骤。大多数图像边缘检测技术应用某种形式的梯度算子,可应用对水平方向、垂直方向或对角线方向的梯度敏感的梯度算子,用它们的复合结果可检测任意方向的边界。
(4) 图像增强和复原,用于改进图像的质量。不同的增强技术可以用于不同的目的,这取决于应用的类型。如果打算直接观察图像,可以增强对比度。如果是为了进一步对图像作数字处理,可以选择分割(一种突出各图像成分之间的边界和线状结构的运算)。该技术可以是整体的或局部的,也可以在某个频域或者空间域中进行。图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
(5) 图像分类(识别), 图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。
(6) 图像变换: 由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像边缘检测中也有着广泛而有效的应用。
1.3 图像边缘检测算法的主要应用
图像是人类获取和交换信息的主要来源,因此,图像边缘处理的应用领域必然涉及到人类生活和工作的方方面面。随着人类活动范围的不断扩大,图像边缘检测与提取处理的应用领域也将随之不断扩大。数字图像边缘检测(Digital Image Processing)又称为计算机图像边缘检测,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像边缘检测最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像边缘检测中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像边缘检测处理方法有图像增强、锐化、复原、编码、压缩、提取等。数字图像边缘检测与提取处理的主要应用领域有:
(1)航天和航空技术方面的应用,数字图像边缘检测技术在航天和航空技术方面的应用,除了月球、火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中。从60年代末以来,美国及一些国际组织发射了资源遥感卫星(如LANDSAT系列)和天空实验室(如SKYLAB),由于成像条件受飞行器位置、姿态、环境条件等影响,图像质量总不是很高。现在改用配备有高级计算机的图像边缘检测系统来判读分析首先提取出其图像边缘,既节省人力,又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。
(2) 生物医学工程方面的应用,数字图像边缘检测在生物医学工程方面的应用十分广泛,而且很有成效。除了CT技术之外,还有一类是对阵用微小图像的处理分析,如红细胞、白细胞分类检测,染色体边缘分析,癌细胞特征识别等都要用到边缘的判别。此外,在X光肺部图像增强、超声波图像边缘检测、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像边缘分析处理技术。
(3)公安军事方面的应用,公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。目前己投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别(主要是汽车牌照的边缘检测与提取技术)都是图像边缘检测技术成功应用的例子。在军事方面图像边缘检测和识别主要用于导弹的精确制导,各种侦察照片的判读,对不明来袭武器性质的识别,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;
(4)交通管理系统的应用,随着我国经济建设的蓬勃发展,城市的人口和机动车拥有量也在急剧增长,交通拥挤堵塞现象日趋严重,交通事故时有发生。交通问题已经成为城市管理工作中的重大社会问题,阻碍和制约着城市经济建设的发展。因此要解决城市交通问题,就必须准确掌握交通信息。目前国内常见的交通流检测方法有人工监测、地埋感应线圈、超声波探测器、视频监测4类。其中,视频监测方法比其他方法更具优越性。
视频交通流检测及车辆识别系统是一种利用图像边缘检测技术来实现对交通目标检测和识别的计算机处理系统。通过对道路交通状况信息与交通目标的各种行为(如违章超速,停车,超车等等)的实时检测,实现自动统计交通路段上行驶的机动车的数量、计算行驶车辆的速度以及识别划分行驶车辆的类别等各种有关交通参数,达到监测道路交通状况信息的作用。
图像边缘检测应用在视频交通流检测和车辆识别系统概述:
1.视频交通流量检测及车辆识别系统是一个集图像边缘检测系统和信息管理系统为一体的综合系统。计算机图像边缘检测主要由图像输入,图像存储和刷新显示,图像输出和计算机接口等几大部分组成,这些部分的总体构成方案及各部分的性能优劣直接影响处理系统的质量。图像边缘检测的目标是代替人去处理和理解图像,因此实时性,灵活性,精确性是对系统的主要要求。
2.通过摄像机将道路交通流图像捕捉下来,再将这些捕捉到的序列图像送入计算机进行图像边缘检测、图像分析和图像理解,从而得到交通流数据和交通状况等交通信息,这是系统的基本工作流程:
初 始 设 置
图像采集
预 处 理
图像识别
图像边缘检测
图像分割
结果输出
摄像机
图1.2 系统的基本工作流程
3.应用举例
对于车牌识别技术的研究现状,车牌的自动识别是计算机视觉、图像边缘检测与模式识别技术在智能交通领域应用的重要研究课题之一,是实现交通管理智能化的重要环节,主要包括车牌定位、字符车牌分割和车牌字符识别三个关键环节。发达国家LPR系统在实际交通系统中已成功应用,而我国的开发应用进展缓慢,基本停留在实验室阶段。
1.4 图像边缘检测算法的发展前景
自从计算机问世以来,数字图像边缘检测和分析的方法不断发展,与早期相比已不可同日而语。首先计算机在运算速度和存储能力两方面明显增加。千兆字节磁盘的问世使早期计算机认为复杂的难以实现的方法重显生机,并可付诸应用。在开发TV摄像机和CCD传感器等方面也取得很大的进展,现代的传感器其空间分辨力和强度分辨力比早期系统有很大提高。
早期应用多在单个图像的分析上,现今多模图像的分析变得越来越重要。多谱成像的应用使来自不同成像模式的信息融合成为可能(如在医学中X线核磁共振成像的融合)。甚至三维分析(如序列图像或随时间的图像变化)以及四维分析(如随时间变化的序列断面图像),现在已成为可实现的目标。就软件而言,知识引导方法已变得日趋重要。当自上而下(top-down direction)应用这些方法时,研究对象(如肝脏)计算机模型引导图像边缘检测操作集中到图像(如肝扫描图像)中我们感兴趣的部位;而当自下而上(button-up direction)应用这些方法时,图像边缘检测所获得有关细节的信息可参照该模型加以核查,以确定相互之间的关系。
已有许多图像生成技术问世,但除图像恢复技术以外,图像边缘检测技术在很大程度上与图像形成的过程无关。一旦图像已被采集并且已对获取过程中产生的失真进行了校正,那么所有可用图像边缘检测技术本质上是通用的。因此,图像边缘检测是一种超越具体应用的过程:任何为解决某一特殊问题而开发的图像边缘检测新技术或新方法,几乎肯定能找到其他完全不同的应用领域。图像边缘检测已应用于现代社会的许多领域。在所有这些领域中的使用方法和技术都很相似,故医疗卫生中的图像边缘检测方法大部分借鉴其他科学和工业领域中的图像边缘检测应用。
从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像边缘检测向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。
第2章 图像的边缘检测与提取
2.1 引言
物体的边缘是以图像局部的不连续性的形式出现的,例如,灰度值的突变,颜色的突变,纹理结构的突变等。从本质上说,边缘常常意味着一个区域的终结和另一个区域的开始。图像边缘信息在图像分布和人的视觉中都是十分重要的,是图像识别中提取图像特征的一个重要属性。
图像边缘检测和计算机视觉都是新兴学科分支,近几十年来,取得了许多重大的成果。随着研究的深入和应用的需要,新概念、新思想、新方法陆续产生,它们正朝着智能化、系统化的方向发展。而作为图像边缘检测和计算机视觉最基本的技术——图像边缘提取技术,也突破了其狭义的概念,成为一个内容丰富的领域。本论文工作的目的是探索和研究经典的图像边缘提取方法。
利用计算机进行图像边缘检测有两个目的:一是产生更适合人观察和识别的图像;二是希望能由计算机自动识别和理解图像。无论为了哪种目的,图像边缘检测中关键的一步就是对包含有大量各式各样景物信息的图像进行分解。图像的边缘是图像的最基本特征。所谓边缘(或边沿)是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间。因此,它是图像分割所依赖的重要特征。
由于图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。而边缘提取算法则是图像边缘检测问题中经典技术难题之一,它的解决对于我们进行高层次的特征描述、识别和理解等有着重大的影响;又由于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解决如何构造出具有良好性质及好的效果的边缘检测算子的问题。在通常情况下,我们可以将信号中的奇异点和突变点认为是图像中的边缘点,其附近灰度的变化情况可从它相邻像素灰度分布的梯度来反映。根据这一特点,提出了多种边缘检测算子:如 Robert算子、Sobel 算子、Prewitt 算子、Laplacian 算子,Canny算子等。这些方法多是以待处理像素为中心的邻域作为进行灰度分析的基础,实现对图像边缘的提取并已经取得了较好的处理效果。
边缘提取是图像边缘检测和计算机视觉等领域最基本的技术,如何准确、快速的提取图像中的边缘信息一直是这些领域的研究热点,随着此项技术研究的深入和整个领域的不断发展,边缘提取技术已经成为图像分割、目标识别、图像压缩等技术的基础。其理论意义深远,应用背景广泛,有相当的使用价值和理论难度。边缘提取算法的提出通常是面向具体问题的,普遍实用性较差。
物体的边缘是由灰度不连续性所反映的。经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律,用简单的方法检测边缘,即边缘检测局部算子法。众所周知,边缘是图像的基本特征,所谓边缘就是指周围灰度强度有变化的那些像素的集合,是图像分割、纹理分析和图像识别的重要基础。
图像的边缘是待识别类型之间的界线,它是指图像中像素单元灰度有阶跃变化或屋顶状变化的那些像素单元的集合。边缘检测在图像分割、纹理特征提取、形状特征提取和图像识别等方面起着重要的作用。图像边缘对图像识别和计算机分析十分有用。边缘能勾划出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息,是图像识别中抽取图像特征的重要属性。从本质上说,图像边缘是图像局部特性不连续性的反应,它标志着一个区域的终结和另一个区域的开始。边缘提取首先检出图像局部特性的不连续性,然后再将这些不连续的边缘像素连成完备的边界。图像中灰度变化剧烈的区域即强度的非连续性对应着边缘。边缘提取就是既要检测出强度的非连续性,又能确定它们在图像中的精确位置。在图像中边缘区域的灰度在空间上的变化形式一般可分为三个类型:阶跃型、房顶型和凸缘型,如图2.2所示。
阶跃型 房顶型 突圆型
图2.1 边缘灰度变化
在图像中边缘有方向和幅度两个特性。沿着边缘走向的灰度变化平缓,而垂直于边缘方向的像素变化剧烈。在边缘上灰度的一阶导数幅度较大,而二阶导数在边缘上的值为零,其左右分别为一正一负两个峰。因此,利用梯度最大值或二阶导数过零点提取边界点成为一种有利的手段。
2.2 边缘检测与提取过程
边缘是图像最基本的特征,所谓边缘就是指周围灰度强度有反差变化的那些像素的集合,是图像分割所依赖的重要基础,也是纹理分析和图像识别的重要基础。理想的边缘检测应当正确解决边缘的有无、真假、和定向定位,长期以来,人们一直关心这一问题的研究,除了常用的局部算子及以后在此基础上发展起来的种种改进方法外,又提出了许多新的技术。
要做好边缘检测初步准备条件如下:
第一,清楚待检测的图像特性变化的形式,从而使用适应这种变化的检测方法。
第二,要知道特性变化总是发生在一定的空间范围内,不能期望用一种检测算子就能最佳检测出发生在图像上的所有特性变化。当需要提取多空间范围内的变化特性时,要考虑多算子的综合应用。
第三,要考虑噪声的影响,其中一个办法就是滤除噪声,这有一定的局限性;再就是考虑信号加噪声的条件检测,利用统计信号分析,或通过对图像区域的建模,而进一步使检测参数化。
第四,可以考虑各种方法的组合,如先找出边缘,然后在其局部利用函数近似,通过内插等获得高精度定位。
第五,在正确检测边缘的基础上,要考虑精确定位的问题。经典的边缘检测方法得到的往往是断续的、不完整的结构信息,噪声也较为敏感,为了有效抑制噪声,一般都首先对原图像进行平滑,再进行边缘检测就能成功地检测到真正的边缘。
从人的直观感受来说,边缘对应于物体的几何边界。图像上灰度变化剧烈的区域比较符合这个要求,我们一般会以这个特征来提取图像的边缘。但在遇到包含纹理的图像上,这有点问题,比如说,图像中的人穿了黑白格子的衣服,我们往往不希望提取出来的边缘包括衣服上的方格。这就又涉及到纹理图像的处理等方法。但一般认为边缘提取是要保留图像的灰度变化剧烈的区域,这从数学上,最直观的方法就是微分(对于数字图像来说就是差分),在信号处理的角度来看,也可以说是用高通滤波器,即保留高频信号。用于图像识别的边缘提取往往需要输出的边缘是二值图像,即只有黑白两个灰度的图像,其中一个灰度代表边缘,另一个代表背景。此外,还需要把边缘细化成只有一个像素的宽度。
图像边缘检测的基本步骤:
(1)滤波。边缘检测主要基于导数计算,但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。
(2)增强。增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。
(3)检测。但在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。
(4)定位。精确确定边缘的位置。
总的说来传统边缘检测的流程图如下:
原始图像
平滑图像
平滑图像
得出边缘的二值化图像既检出边缘点
阈值分割
梯度算子
边缘增强
边缘检测
边缘定位
图像滤波
图2.2 边缘检测的流程图
特征提取作为图像边缘检测的一个重要内容,发展了众多的方法。这些方法经过实践的检验,成为了经典的内容。经典的边缘检测算子包括:Roberts算子,Prewitt算子,Sobel算子,Log (Laplacian of Gaussian)算子等。这些经典的边缘提取算子在使用时都是使用预定义好的边缘模型去匹配。
2.3 边缘检测与提取主要算法
边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。
经典的边界提取技术大都基于微分运算。首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。
2.3.1 Roberts边缘算子
Roberts算子是一种利用局部差分算子寻找边缘的算子,由下式给出:
g(x,y)={[-]+[- ]} ,
其中f(x,y)是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的过程。
Roberts算子边缘定位准,但是对噪声敏感。适用于边缘明显而且噪声较少的图像分割,在应用中经常用Roberts算子来提取道路。
2.3.2 Sobel边缘算子
Sobel边缘算子的卷积和如图2.2所示,图像中的每个像素都用这两个核做卷积。这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。
-1
-2
-1
0
0
0
1
2
1
-1
0
1
-2
0
2
-1
0
1
图2.2 Sobel边缘算子
Sobel算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越大,产生的影响越小。
2.3.3 Prewitt边缘算子
Prewitt边缘算子的卷积和如图2.3所示,图像中的每个像素都用这两个核做卷积,取最大值作为输出,也产生一幅边缘幅度图像。
-1
-1
-1
0
0
0
1
1
1
图2.3 Prewitt边缘算子
1
0
-1
1
0
-1
1
0
-1
Prewitt算子在一个方向求微分,而在另一个方向求平均,因而对噪声相对不敏感,有抑制噪声作用。但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。
2.3.4 Laplacian边缘算子
拉普拉斯算子一种二阶边缘检测算子,它是一个线性的、移不变算子。是对二维函数进行运算的二阶导数算子,对一个连续函数f (x, y)它在图像中的位置(x, y),拉普拉斯值定义为:
Laplacian算子利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个对零交叉点判断边缘。其4邻域系统和8邻域系统的Laplacian算子的模板分别如图2.4和图2.5所示。
0
1
0
1
-4
1
0
1
0
1
1
1
1 1
-8
1
1
1
1
图2.4 邻域Laplacian算子 图2.5 邻域Laplacian算子
通常使用的拉普拉斯算子3×3模板如图2.6所示:
-1
-1
-1
-1
8
-1
-1
-1
-1
-1
0
1
-2
4
2
-1
0
1
-1
-2
-1
0
0
0
1
2
1
图2.6 拉普拉斯算子
Laplacian算子对噪声比较敏感,Laplacian算子有一个缺点是它对图像中的某些边缘产生双重响应。所以图像一般先经过平滑处理,通常把Laplacian算子和平滑算子结合起来生成一个新的模板。
2.3.5 Log边缘算子
现在介绍一种利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以在边缘增强前滤除噪声。为此,马尔(Marr)和希尔得勒斯(Hildreth)根据人类视觉特性提出了一种边缘检测的方法,该方法将高斯滤波和拉普拉斯检测算子结合在一起进行边缘检测的方法,故称为Log(Laplacian of Gassian )算法。也称之为拉普拉斯高斯算法。该算法的主要思路和步骤如下:
(1)滤波:首先对图像f(x,y)进行平滑滤波,其滤波函数根据人类视觉特性选为高斯函数,即:
其中,G(x,y)是一个圆对称函数,其平滑的作用是可通过来控制的。将图像与进行卷积,可以得到一个平滑的图像,即:
(2)增强:对平滑图像进行拉普拉斯运算,即:
(3)检测:边缘检测判据是二阶导数的零交叉点(即 的点)并对应一阶导数的较大峰值。
这种方法的特点是图像首先与高斯滤波器进行卷积,这样既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除。但是由于平滑会造成图像边缘的延伸,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点。这一点可以用二阶导数的零交叉点来实现。拉普拉斯函数用二维二阶导数的近似,是因为它是一种无方向算子。在实际应用中为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点。由于对平滑图像进行拉普拉斯运算可等效为的拉普拉斯运算与的卷积,故上式变为:
=
式中称为LOG滤波器,其为:
= + =
这样就有两种方法求图像边缘:
①先求图像与高斯滤波器的卷积,再求卷积的拉普拉斯的变换,然后再进行过零判断。
②求高斯滤波器的拉普拉斯的变换,再求与图像的卷积,然后再进行过零判断。
这两种方法在数学上是等价的。上式就是马尔和希尔得勒斯提出的边缘检测算子(简称M-H算子),由于LOG滤波器在空间中的图形与墨西哥草帽形状相似,所以又称为墨西哥草帽算子。
拉普拉斯算子对图像中的嗓声相当敏感。而且它常产生双像素宽的边缘,也不能提供边缘方向的信息。高斯-拉普拉斯算子是效果较好的边沿检测器,常用的5×5模板的高斯--拉普拉斯算子如图2.7所示:
0
0
-1
0
0
-1
-2
0
-1
-2
16
-1
0
-1
-2
0
0
0
-1
0
-2
-4
-4
-2
-4
0
8
-4
-4
8
2
-4
-4
0
8
-4
-2
-4
-4
-2
图2.7 高斯—拉普拉斯算子
高斯--拉普拉斯算子把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平化掉噪声,再进行边缘检测,所以效果更好。
2.3.6 Canny边缘算子
检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点。图像边缘检测必须满足两个条件:一是必须能有效地抑制噪声;二是必须尽量精确确定边缘的位置。既要提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感。
1.Canny边缘检测基本原理:
(1)具有既能滤去噪声又保持边缘特性的边缘检测最优滤波器,其采用一阶微分滤波器。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。
(2)类似与Marr(LOG)边缘检测方法,也属于先平滑后求导数的方法。
2.Canny边缘检测算法:
step1:用高斯滤波器平滑图象;
step2:用一阶偏导的有限差分来计算梯度的幅值和方向;
step3:对梯度幅值进行非极大值抑制;
step4:用双阈值算法检测和连接边缘。
其数学描述如下:
step1:
二维为高斯函数为:
=
在某一方向n上是的一阶方向导数为:
== n▽
n= =
式中:n式方向矢量,▽是梯度矢量。
将图像与作卷积,同时改变n的方向,*取得最大值时的n就是正交于检测边缘的方向。
step2:
= , =*
=
反映了图像(x,y)点处的边缘强度,是图像(x,y)点处的法向矢量。
step3:
仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。(non-MaxiMa suppression,NMS)
解决方法:利用梯度的方向。
图示--非极大值抑制
四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心像素M与沿着梯度线的两个像素相比。如果M的梯度值不比沿梯度线的两个相邻像素梯度值大,则令M=0。
step4:
减少假边缘段数量的典型方法是对G(x,y)使用一个阈值。将低于阈值的所有值赋零值。但问题是如何选取阈值?
解决方法:双阈值算法进行边缘判别和连接边缘。
①首先是边缘判别: 凡是边缘强度大于高阈值的一定是边缘点;凡是边缘强度小于低阈值的一定不是边缘点;如果边缘强度大于低阈值又小于高阈值,则看这个像素的邻接像素中有没有超过高阈值的边缘点,如果有,它就是边缘点,如果没有,它就不是边缘点。
②其次是连接边缘: 双阈值算法对非极大值抑制图像作用两个阈值τ1和τ2,且2τ1≈τ2,从而可以得到两个阈值边缘图像G1(x,y)和G2(x,y)。由于G2(x,y)使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在G2(x,y)中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在G1(x,y)的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在G1(x,y)中收集边缘,直到将G1(x,y)连接起来为止。
实际上,还有多种边缘点判别方法,如:将边缘的梯度分为四种:水平、竖直、45度方向、135度方向。各个方向用不同的邻接像素进行比较,以决定局部极大值。若某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比并不是最大的,那么将该像素置为零,即不是边缘。
此外,在实际应用中,检测效果还与滤波模板大小有关,当时有较好的检测效果。
Canny算子检测方法的优点:①低误码率,很少把边缘点误认为非边缘点;②高定位精度,即精确地把边缘点定位在灰度变化最大的像素上;③抑制虚假边缘。
在这几种算法中除Roberts算子外都使用了图像模板,模板运算是图像的一种处理手段——邻域处理,有许多图像增强效果都可以采用模板运算实现,如平滑效果,中值滤波,油画效果,图像的凹凸效果等等。在模板运算中,首先定义一个模板,模板的大小以3*3的较常见,也有2*2, 5*5或更大尺寸的。运算时,把模板中心对应到图像的每一个像素位置,然后按照模板对应的公式对中心像素和它周围的像素进行数学运算,算出的结果作为输出图像对应像素点的值。
这些经典的边缘提取算子,虽然各自不同,有不同的长处,但是它们也有共同的特点:每种算子对应的预定义的边缘是它们最适合使用的情形,也就是说它们有针对性。这一点在应用中是有优越性的,它们的针对性可以帮助我们完成特定的
展开阅读全文