数字图像边缘检测算法研究实现本科毕业论文

摘要

边缘是图像最基本的特征之一,故图像的边缘检测是图像处理的主要内容之一,也一直是图像测量技术研究中的热点和焦点。本文从边缘检测的“两难”问题出发,对实际图像中可能出现的边缘类型进行了数学模型描述,并研究分析了传统边缘检测算法的特点。介绍了各种算子边缘检测的基本原理,在此基础上,采用传统算法对加入高斯白噪声以后的图像进行了边缘检测分析。最后针对传统Canny算子在滤波过程中存在的缺陷,给出一种基于自适应平滑滤波的改进Canny边缘检测算子。通过对实验图像的分析表明,改进的检测算法对图像边缘提取具有较好的检测精度和准确性,抗噪性能良好。

关键词:图像处理,边缘检测,Canny算子,检测性能

ABSTRACT

ABSTRACT

Edge is the most basic feature of image,therefore, the image edge detection is one of the main content for image processing, it also has been the hot issues of image measurement technology.In this paper, the "dilemma" problem of edge detection is introuduced,and the possible mathematical models of actual image edges are described,and the traditional characteristics of the edge detection algorithm are analyzed.A variety of the basic principles of edge detection operators are introduced. On this basic, using the traditional method to detect the edge of the image which is added Gaussian white noise.Finally,an adaptive filter based Canny edge detector is given in order to eliminate the defects of the traditional Canny operator.Though the analysis of experimental images,improved detection of image edge detection algorithm has good precision and accuracy of detection,anti-noise performance.

Key words: Image Processing,Edge Detection, Canny Operator,Detection Performance

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

ABSTRACT

目录

第一章绪论 (1)

1.1图像边缘检测方法的研究现状 (1)

1.2图像边缘检测方法 (2)

1.3本文研究的主要内容及安排 (3)

第二章边缘模型分类及性能分析 (5)

2.1引言 (5)

2.2 “边缘点”定义 (5)

2.3 边缘检测“两难”问题 (6)

2.4边缘分类及性能分析 (7)

第三章图像的边缘检测方法 (10)

3.1边缘与边缘检测方法 (10)

3.1.l边缘概述 (10)

3.1.2边缘检测方法 (10)

3.2经典的边缘检测算子 (12)

3.2.1差分边缘检测算子 (12)

3.2.2 Roberts边缘检测方法 (13)

3.2.3 Sobel算子 (14)

3.2.4 Prewitt算子 (15)

3.3线性滤波边缘检测方法 (17)

3.3.1 LOG边缘检测方法 (17)

3.3.2 Canny边缘检测方法 (19)

3.4一种改进的canny算子 (21)

3.4.1改进的自适应平滑滤波 (21)

3.4.2 3×3领域的梯度幅值计算方法 (24)

第四章实验结果及分析 (26)

4.1 Matlab概述 (26)

4.2本文各边缘检测算法仿真结果 (27)

4.2.1在无噪声情况下 (27)

4.2.2在加噪的情况下 (30)

4.2.3仿真结果的比较和分析 (33)

4.4含噪图像滤波后边缘检测 (34)

4.5改进的Canny算子实验结果与分析 (38)

第五章总结和展望 (40)

致谢 (42)

参考文献 (43)

附录 (1)

第一章绪论

图像是人类获取和交换信息的主要来源。因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。近几年来,图像处理和识别技术得到了迅速的发一展。现在人们已充分认识到图像处理和识别技术是认识世界、改造世界的重要手段。随着科学技术的不断发展,数字图像处理技术的应用领域也随之不断扩大。目前它己经成为21世纪信息时代的一门重要的高新科学技术。数字图像处理技术的发展涉及信息科学、计算机科学、数学、物理学以及生物学等学科,因此数理及相关的边缘学科对图像处理科学的发展有越来越大的影响。近年来,数字图像处理技术日趋成熟,它被广泛应用于空间探测、遥感、生物医学、人工智能以及工业检测等许多领域,并促使这些学科产生了新的发展。

1.1图像边缘检测方法的研究现状

根据使用的知识与层次,可以将图像分割分为数据驱动与模型驱动两大类。其中数据驱动分割直接对当前图像数据进行操作,虽然也可使用有关先验知识,但不依赖于知识;模型驱动分割则直接建立在先验知识的基础上。这样分类更符合当前图像分割的技术要点。

常见的数据驱动分割包括基于边缘检测的分割、基于区域的分割、边缘与区域相结合的分割等。

基于边缘检测的分割的基本思想是先检测图像中的边缘点,再按一定策略连接成分割区域。其难点在于边缘检测的抗噪性和检测精度的矛盾,若提高检测精度,则噪声产生的伪边缘会导致不合理的轮廓;若提高抗噪性,则会产生轮廓漏检和位置偏差。边缘检测和分割是图像分析的经典难题,经典的物体边缘检测方法是边缘检测局部算子法,最基本的一类边缘检测算子是微分算子。除了LOG 算子和Canny算子外,其它的算子利用了一阶方向导数在边缘处取最大值这一规律。而LOG算子和Canny算子基于的是二阶导数的零交叉技术。这一类算子类似于高通滤波,有增加高频分量的作用,但对噪声是敏感的。另一类边缘检测方法是基于边缘拟合的检测方法,能够部分克服噪声影响,如Huckel算法,Haralick 斜面模型,标记松弛法。

其中标记松弛法利用了统计学中概率分布的概念。多尺度方法是一种有效的边缘检测技术。其思路是:在大尺度下抑制噪声,可靠地识别边缘;在小尺度下精确定位。一般地,多尺度方法都是利用图像金字塔,以减少计算量为主要目标;而Canny利用了不同尺度的高斯函数的一次微分与图像卷积,取局部极大值点为边缘点,由粗到精确定图像边缘,获得了较好的结果。但是,Canny算子采用高斯函数的一次微分作为卷积核,算法计算量大,且不能确定边缘的类型。

Fourier分析是现代工程中应用最广泛的数学方法之一,但它不适宜表示陡然变化的信号,同时在分析图像信号的瞬时特性方面,Fourier分析也显得软弱无力。小波变换是近年来兴起的热门信号处理技术,其良好“时频”局部特性特别适合图像处理。虽然小波分析展开的时间并不长,但有着广泛的应用前景。1.2图像边缘检测方法

在图像分割中,边缘检测方法可以说是人们研究得最多的方法,它试图通过检测包含不同区域的边缘来解决图像分割问题。图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像处理时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。而边缘检测算法则是图像处理问题中经典技术难题之一它的解决对于我们进行高层次的特征描述、识别和理解等有着重大的影响;鉴于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解抉如何构造出具有良好性质及好的效果的边缘检测算子的问题。图像中相邻的不同区域间总存在边缘,边缘处象素的灰度值不连续,这种不连续性可通过求导数来检测到。对于阶跃状边缘,其位置对应一阶导数的极值点,对应二阶导数的过零点(零交叉点)。因此常用微分算子进行边缘检测,它是一种并行边界技术。常用的一阶微分算子有Roberts算子、Prewitt算子、和Sobel算子,二阶微分算子有Laplacian等。在实际中各种微分算子常用小区域模板来表示,微分运算是利用模板与图像卷积来实现。这些算子对噪声敏感,只适合于噪声较小不太复杂的图像。

由于边缘和噪声都是灰度不连续点,在频域均为高频分量,直接采用微分运

算难以克服噪声的影响。因此用微分算子检测边缘前要对图像进行平滑滤波。LOG算子和Canny算子是具有平滑功能的二阶和一阶微分算子,边缘检测效果较好。其中LOG算子是采用Laplacian算子求高斯函数的二阶导数,canny算子是高斯函数的一阶导数,它们在噪声抑制和边缘检测之间取得了较好的平衡。

随着小波分析的出现,其良好的时频局部特性被广泛的应用在图像处理和模式识别等领域中,成为信号处理中常用的手段和有力的工具[]1。通过小波分析,可以将交织在一起的各种混合信号分解成不同频率的块信号。通过小波变换进行边缘检测,可以充分利用其多尺度和多分辨率的性质,真实有效的表达图像的边缘特征。当小波变换的尺度减小时,对图像的细节更加敏感;当小波变换的尺度增大时,图像的细节将被滤掉,检测到的边缘只是粗轮廓。该特性在模式识别中非常有用,我们可以将此粗轮廓称为图像的主要边缘。如果能将一幅图像的主要边缘清晰完整的提取出来,这将为目标分割、识别等后续处理带来极大的便利[]3

2-。

总的说来,以上方法都是基于图像的亮度信息来做的工作。在众多科研工作者的努力下,取得了很好的效果。但是,由于图像边缘受光照等物理条件的影响比较大,往往使得以上诸多基于亮度信息的边缘提取方法有着一个共同的缺点,那就是边缘不连续、不封闭。

1.3本文研究的主要内容及安排

本文共分为五章:

第一章为绪论,介绍了图像分割技术,图像边缘检测方法以及它的研究现状,并介绍了本文所做的主要工作与安排。

第二章介绍了边缘模型分类及性能分析,并提出边缘检测中所遇到的“两难”问题及解决方案。

第三章介绍了边缘检测技术的几种经典算法及其改进技术和线性滤波算子中的Log边缘检测方法和Canny边缘检测方法。详细讲述了各种方法的理论根据,分析了它们各自的优缺点和适用范围。将边缘检测方法与滤波技术结合起来,

实现了一种改进的边缘检测算法。

第四章对各种方法进行仿真实验,通过实验证明了本文给出的方法可以取得比较理想的检测结果。

第五章对全文所做的工作进行了总结,并指出了进一步研究的建议。

第二章 边缘模型分类及性能分析

2.1引言

大部分的边缘检测方法通常只局限于检测单一类型的边缘[][][]654。然而,边缘检测是一个很复杂的问题[]8,不同的图像包含的边缘类型各不相同,检测单一类型的边缘往往难以满足实际应用的要求。因此,对各种边缘类型进行分类和建模就显得格外重要。WEST 和Venkatesh []9基于:“光线跟踪”技术队模拟图像中的遮挡,非遮挡,阴影等边缘进行提取和分类:Zhang 和 Bergholm []10通过分析尺度空间中边缘的行为来对阶跃,斜坡,峰值和反对称峰值边缘进行分类:Catanzaiti []11对阶跃,斜坡和屋脊边缘进行分类。边缘分类的关键是根据具体的实现目标检测到图像中“感兴趣”的那部分边缘,去掉干扰边缘。若能事先知道“感兴趣”的边缘类型,并对其进行建模,则会大大简化检测过程。本章从边缘检测“两难”问题出发,对实际图像中可能出现的七种边缘类型分别进行数学模型描述,系统地分析了采用微分方法检测边缘时,不同的边缘类型表现出来的特性以及不同类型的边缘定位与平滑尺度的关系。若能预先对边缘类型进行分类,则可选取合适的平滑尺度,较好地解决边缘检测“两难”问题。

2.2 “边缘点”定义

平滑后图像的边缘检测通常通过求导数来实现。这里,以一维信号为例,来讨论边缘点的定义。

设)(x f 为经高斯函数平滑后的信号,将)(x f 在σ=x 处做Taylor 级数展开:

......))((21))(()()(2'''+-+-+=a x a f a x a f a f x f (2.1) 其中,)(a f 与)('a f 分别是信号)(x f 在x=a 处的一阶导数和二阶导数,当0)(=a f 时,信号)(x f 在x=a 处存在极值点,当)('a f 在x=a 处改变符号时,则x=a 为信号)(x f 的拐点。对于一维信号:

1)

当)('a f =0,0)(''>a f ,边缘点定义为局部极小值点; 2)

当)('a f =0,0)('

2.3 边缘检测“两难”问题

边缘是灰度不连续的结果,是图像中灰度的急剧变化。边缘检测的定义有很多种,其中最常用的一种定义为[]1;边缘检测是根据引起图像灰度变化的物理过程来描述图像中灰度变化的过程。引起图像灰度不连续的物理过程可能是几何方面的,也可能是光学方面的,比如表面反射,非目标物体产生的阴影以及内部倒影等。这些景物特性混在一起会使随后的解释变得非常困难[]2。而且,在实际场合中,图像数据往往被噪声污染。因此边缘检测方法要求既能检测到边缘的精确位置,又可以抑制无关细节和噪声。由于边缘检测是定位灰度级的变化,因此通常使用微分法来定位边缘。

信号的数值微分是一个“病态”问题。输入信号的一个很小的变化就会引起输出信号大的变化。令)(x f 为输入信号,假设由于噪声的影响,使)(x f 发生了一个很小的变动:

wx x f x f sin )()('ε+=

(2.2)

其中1<<ε,对式(2.1)两边求导数,则: wx w dx x df dx x df cos )()('ε+= (2.3)

由式(2.2)可以看到,若w 足够大,即噪声为高频噪声时,会严重影响信号)(x f 的微分输出,进而影响边缘检测的结果,为了使微分正规化,则需要先对图像进行平滑。

然而,图像平滑会引起信息丢失,并且会使图像平面的结构发生移位。另外,若使用的微分算子不同,则同一幅图像会产生不同的边缘,因此噪声消除与边缘

定位是两个相互矛盾的部分,这就是边缘检测中的“两难”问题[][]54。在实际应用中,应根据具体的要求对这两个方面进行最佳折中。图像的平滑通过图像与一个滤波器卷积来实现,滤波器可以取为立方样条函数[]7,格林函数[]6,高斯函数[]6等,平滑的结果由正规化参数来确定。在滤波器理论中,正规化参数又称为“尺度”。以高斯函数为例:

22221)(σπσx e x g = (2.4)

其中0>σ为滤波尺度。不同尺度下的高斯函数,尺度σ决定了噪声消除与边缘定位的折衷程度。

2.4边缘分类及性能分析 图像中的边缘通常分为:阶跃边缘[]9、斜坡边缘[]9、三角型屋脊边缘[]7[]8、方波型屋脊边缘[]10、楼梯边缘[]13、双阶跃边缘和双屋脊边缘等几种类型。下面分别对这几种边缘模型进行分析。

(1)阶跃边缘

模型为:)(1)(x c x f = ,其中 c>0为边缘幅度,?

??<≥=0,00,1)(x x x I 为阶跃函数。若存在噪声,可以选用大尺度的模板平滑图像,不会影响边缘的定位。

(2)斜坡边缘

理想的斜坡边缘模型为:)2

()2()2()2(2)(d x I s x d s d x I s x d s s x f -+-++++-=。其中S 为边缘幅度,d 为边缘宽度。一阶导数的最大值点和二阶导数的过零点都对应着实际边缘的位置。当2,25.0==d σ时,平滑边缘的一阶导数没有极值点而二阶导数的过零点有一定的宽度。因此在这种情况下,不能检测到边缘的位置;当1,25.0==d σ时,则可准确定位一阶导数的极值点和二阶导数的过零点。由此可得出结论:

1) 斜坡边缘的检测不仅跟尺度有关,还与边缘本身的宽度有关,若边缘宽度比

较小,则在小的平滑尺度下也能检测到边缘。

2) 无论是检测极值点还是过零点,边缘的定位都没有随着尺度的变化而变化。

因此,对于斜坡边缘若存在噪声,可以选用大尺度的模板平滑图像。而不会影响到边缘定位。

(3)三角型屋脊边缘

模型为:)2

()2()(4)2()2()(d x I s x d s x xI d s d x I s x d s x f -+---++=,其中S 为 边缘幅度,d 为边缘宽度。当尺度σ增大或缩小时,无论是检测极值点还是检测过零点,边缘的定位都没有随着尺度的变化而变化。由此可见,对于三角型屋脊边缘,若存在噪声,可以选用大尺度的平滑模板,而不会影响边缘的定位。

(4)方波型屋脊边缘

方波型屋脊边缘的模型为:)2

()2()(d x SI d x SI x f --+=,其中S 为边缘幅度,d 为边缘宽度。此时一阶导数的过零点和二阶导数的极小值点都对应着实际边缘的位置。可以看到方波型屋脊边缘出现了与斜坡边缘相同的情况:

对于一阶导数,当边缘宽度2=d ,尺度25.0=σ时,过零点出现了一定的宽度;当边缘宽度1=d ,尺度25.0=σ时,则可以检测到一阶导数的过零点。

对于二阶导数,当边缘宽度2=d ,尺度25.0=σ时存在两个极小值点;尺度5.0=σ时极小值点变为一个,但有一定的宽度。当边缘宽度1=d ,

25.0=σ时,二阶导数存在两个极小值点;当边缘宽度5.0=d ,尺度25.0=σ时,二阶导数有一个极小值点,能准确定位边缘的位置。由此可得出结论:

1) 对于方波型屋脊边缘检测,不仅与平滑尺度有关,还与边缘宽度有关。当边

缘宽度很小时,即趋向于脉冲边缘时,在很小的平滑尺度,仍能检测到边缘点。

2) 当尺度σ增大时,边缘的位置不随尺度的变化而变化,因此对于方波形屋脊

边缘,若存在噪声,可以选用大尺度的平滑模板,而不会影响边缘的定位。

(5)楼梯边缘

楼梯边缘模型为:)(2)1(1)(l x I c x I c x f +*+-*=,其中c1、c2、l 均为常数。这种检测的特点是平滑后的楼梯边缘不能准确定位,必须对检测到的边缘位置进行移位校正。

(6)双阶跃边缘

双阶跃边缘与方波型屋脊边缘相同,不同之处为:双阶跃边缘的边缘点为x=-d/2与 x=d/2,而方波型屋脊边缘的边缘点为 x=0。双阶跃边缘的两个边缘点通过检测一阶导数的两个极值点和二阶导数的两个过零点获得。因此对于双阶跃边缘大尺度下不能准确定位,必须对检测到的边缘位置进行移位校正。

(7)双屋脊边缘

模型为:d x pul S x f +*=()(),2/(),2/l d x pul S l -*+,

其中:

???????>-<=else l orx x l x pul ,212121,0),( (2.5)

S 为边缘幅度,l 为屋脊边缘的宽度,d 为两个屋脊边缘间距。 实际应用中可根据具体要求进行建模,选取合适的平滑尺度,尽可能解决“两难”问题。

如果已知目标物体的边缘类型,则可以根据该边缘类型一阶倒数和二阶倒数的特性以及与平滑尺度的关系只检测出目标物体所属的边缘类型,滤掉其他的边缘类型。

第三章图像的边缘检测方法

3.1边缘与边缘检测方法

3.1.l边缘概述

边缘是图像最基本的特征之一,边缘检测在图像处理和计算机视觉等领域中起着重要的作用,是图像分析、模式识别的重要部分。

边缘是灰度值不连续的表现,两个具有不同灰度值的相邻区域之间总存在边缘。通常情况下,我们将信号中奇异点或突变点认为是图像中的边缘点,其附近灰度的变换可以从他相邻象素灰度分布的梯度来反映。常见的边缘点种类有:阶梯型边缘(Step-edge),即从一个灰度(或线性灰度)到达比它高(或低)很多的另一个灰度;屋顶型边缘(Roof-edge),它的灰度是慢慢增加(减少)到一定程度然后慢慢减小(增加);线性边缘(Line-edge),它的灰度线性变换中出现的灰度脉冲。

由于边缘是图像上灰度变化最剧烈的地方,因此,常规的边缘检测是以原始图像为基础,利用图像边缘点处的灰度阶跃变化进行边缘检测,然后提取图像的边缘。但是由于众多原因,图像常受到随机噪声的干扰,而边缘的噪声在空间域表现为灰度有很大的起落,在频域表现为高频分量,因此边缘检测的结果常把噪声当作边缘点检测出来,而真正的边缘由于受噪声干扰而没有检测出来。

3.1.2边缘检测方法

我们知道,边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。

边缘检测算法有如下四个步骤(其过程如图3.1所示):

图3.1 图像边缘检测流程 滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷。

增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。

检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阂值判据。

定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。

在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。边缘检测误差通常是指边缘误分类误差,即把假边缘判别成边缘而保留,而把真边缘判别成假边缘而去掉。边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的。我们将边缘检测误差和边缘估计误差区分开,是因为它们的计算方法完全不同,其误差模型也完全不同。

边缘检测是检测图像局部显著变化的最基本运算。在一维情况下,阶跃边缘同图像的一阶导数局部峰值有关。梯度是函数变化的一种度量,而一幅图像可以看作是图像强度连续函数的取样点阵列。因此,同一维情况类似,图像灰度值的显著变化可用梯度的离散逼近函数来检测。梯度是一阶导数的二维等效式,定义

原始图像 平滑图像 梯度或含过零

点 过界点

滤波 增强

检测

为向量:

????????????????=??????=y f x f G G y x G y x ),( (3.1)

有两个重要的性质与梯度有关:(1)向量G(x ,力的方向就是函数f(x ,y)增大时的最大变化率方向;(2)梯度的幅值由下式给出:

=),(y x G 22Y X G G + (3.2)

在实际应用中,通常用绝对值来近似梯度幅值:

y x G G y x G +=),( (3.3)

),max(),(y x G G y x G ≈ (3.4)

由向量分析可知,梯度的方向定义为:

)arctan(),(x y G G y x a = (3.5)

其中a 角是相对x 轴的角度。

注意:梯度的幅值实际上与边缘的方向无关,这样的算子称为各向同性算子(isotropicooPerators)。

3.2经典的边缘检测算子

3.2.1差分边缘检测算子

当我们处理数字图像的离散域时,可用图像的一阶差分直接代替图像函数的导数。

二维离散图像函数在x 方向的一阶差分定义为:

),(),1(y x f y x f -+ (3.6)

y 方向上的一阶差分定义为:

),()1,(y x f y x f -+ (3.7)

利用图像灰度的一阶导数算子在灰度迅速变化处得到的极值来进行特征点的检测。它在某一点的值就代表该点的“边缘强度”,可以通过对这些值设置闭值来进一步得到边缘图像。但是,用差分检测边缘必须使差分的方向与边缘方向垂直,这就需要对图像的不同方向进行差分运算,增加了实际运算的繁琐性。一般可以分为垂直边缘、水平边缘、对角线边缘检测:

????? ??-000011000

????? ??-000010010 ????? ??-000010001 垂直边缘 水平边缘 对角线边缘 显然,差分边缘是最原始、最基本的方法。根据灰度迅速变化处一阶导数达到最大(阶跃边缘情况)原理,利用导数算子检测边缘。这种算子具有方向性,计算不便,目前很少采用。

3.2.2 Roberts 边缘检测方法

由RobertS 提出的算子是一种利用局部差分算子寻找边缘的算子,它在2*2邻域上计算对角导数:

[][][]()[][]()221,,11,1,,+-++++-=j i f j i f j i f j i f j i G (3.8) []j i G ,又称为Roberts 交叉算子。在实际应用中,为简化运算,用梯度函数的RobertS 绝对值来近似:

[][][][][]1,,11,1,,+-++++-=j i f j i f j i f j i f j i G

(3.9) 用卷积模板,上式变为:

[]y X G G j i G +=, (3.10)

其中x G 和y G 由图3.2的模板计算:

(a )x G 对角导数 (b )x G 对角导数

图3.2 Roberts 边缘检测算子 差分值将在内插点处计算。RobertS 算子是该点连续梯度的近似值,而不是所预期点处的近似值。由上面两个卷积算子对图像运算后,代入(3.10)式,可求得图像的梯度幅度值[]j i G ,,然后选取适当的门限TH ,作如下判断:[][]j i TH j i G ,,,>,为阶跃状边缘点{[]j i G ,}为一个二值图像,也就是图像的边缘。

3.2.3 Sobel 算子

考虑到采用3x3邻域可以避免在像素之间内插点上计算梯度,设计出下图

2.4中所示的点[]j i ,周围点的排列。Sobel 算子即是如此排列的一种梯度幅值:

[]22,y x S S j i G += (3.11)

其中:

[][][]{}[][][]{}1,1.121.11,1,121.1+-+-+---+++++-+=y x f y x f y x f y x f y x f y x f S x [][][]{}[][][]{}1,11,21,11,11,21.1-++++---+++-++-=y x f y x f y x f y x f y x f y x f S y (3.12) 公式(3.12)中的偏导数用下式计算:

()()

()()456212670432a ca a a ca a S a ca a a ca a S y x ++-++=++-++= (3.13)

其中常数c=2。和其他的梯度算子一样,x S 和Y S ,可用图3.3卷积模板来实现: 0 1 -1 0 1 0 0 -1

-1 -2 -1

0 0 0

1 2 1

图3.3 Sobel边缘检测算子

请注意这一算子把重点放在接近于模板中心的像素点。Sobel算子是边缘检测器中最常用的算子之一。

Sobel算子很容易在空间上实现,Sobel边缘检测器不但产生较好的边缘检测效果,同时,因为Sobel算子引入了局部平均,使其受噪声的影响也比较小。当使用大的邻域时,抗噪声特性会更好,但是这样做会增加计算量,并且得到的边缘也较粗。

Sobel算子利用像素点上下、左右相邻点的灰度加权算法,根据在边缘点处达到极值这一现象进行边缘检测。因此Sobel算子对噪声具有平滑作用,提供较为精确的边缘方向信息。但是,正是由于局部平均的影响,它同时也会检测出许多伪边缘,且边缘定位精度不够高所以当对精度要求不是很高时这是一种较为常用的边缘检测方法。

3.2.4 Prewitt算子

Prewitt算子与Sobel算子的方程完全一样,只是常量c=1。所以其卷积模板如图3.5所示:

-1 -1 -1

0 0 0

1 1 1

(a )水平边缘 (b )

垂直边缘

图3.5 Prewitt 边缘检测算子

由于常量c 的不同,这一算子与Sobel 算子不同的地方在于没有把重点放在接近模板中心的像素点。当用两个掩模板(卷积算子)组成边缘检测器时,通常取较大的幅度作为输出值,这使得它们对边缘的走向有些敏感。取它们的平方和的开方可以获得性能更一致的全方位的响应,这与真实的梯度值更接近。另一种方法是,可以将Prewitt 算子扩展成八个方向,即边缘样板算子。这些算子样板由理想的边缘子图构成。依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值[]j i P ,,这样可将边缘像素检测出来。我们定义Prewitt 边缘检测算子模板如下:

????? ??----111121111

????? ??----111121111 ????? ??----111121111 ????

? ??----111121111 1方向 2方向 3方向 4方向

????? ??----111121111

????? ??----111121111 ????? ??----111121111 ????? ??----111121111 5方向 6方向 7方向 8方向

图3.6 Prewitt 边缘检测算子模版

八个边缘样板算子对应的边缘方向如下图所示:

2方向

3方向

4方向 1方向 中心点 5方向

8方向 7方向 6方向 1

0 -1 1 0

-1 1 0 -1

相关文档
最新文档