1、安徽工程大学数字图像课程设计 用纸 1 安徽工程 大学 课程设计报告 课程名称 : 数字图像处理与分析 课程设计题目 : 基于 Matlab 的图像边缘提取算法实现及应用 姓 名: 李晓 学 院 : 电气 工程学院 专 业: 电子 信息科学与技术 年 级: 2010 学 号: 3100203120 安徽工程大学数字图像课程设计 用纸 2 目 录 一课程设计目的 3 二提取图像边缘的背景与意义 3 三设计的主要内容与原理 4 3.1 什么是图像 边缘 .4 3.2 图像 边缘提取的基本原理 与过程 5 3.3 对边缘 检测与提取 算法的介绍(以 Canny 与 Log 为例) 3.3.1 坎尼(
2、 Canny) 边缘算子 7 3.3.2 Log边缘算子 10 四边缘提取算法的实现 11 五 对算子的稳定性的探讨 13 六 结束语 17 致谢 .18 参考文献 .18 安徽工程大学数字图像课程设计 用纸 3 一 课程设计目的 图像的边缘作为图像的一种基本特征,经常被应用到较高层次的图像应用中去。它在图像识别,图像分割,图像增强以及图像压缩等的领域中有较为广泛的应用,也是它们的基础。 图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常
3、重要的一些特征条件,这就需要我们 对一幅图像检测并提取出它的边缘。而边缘检测算法则是图像边缘检测问题中经典技术难题之一,本文主要介绍两种经典的边缘提取算法,这两种都是用 MATLAB 语言编程实现,对提取结果进行比较和分析。 二 提取图像边缘的背景与意义 数字图像边缘检测技术起源于 20 世纪 20 年代,当时受条件的限制一直没有取得较大进 展,直到 20 世纪 60 年代后期电子技术、计算机技术有了相当的发展,数字图像边缘检测处理技术才开始进入了高速发展时期。经过几十年的发展,数字图像边缘检测处理技术目前己经广泛应用于工业、微生物领域、医学、航空航天以及国防 等许多重要领域,多年来一直得到世
4、界各科技 强国的广泛关注。 数字图像边缘检测 处理技术在最近的 10 年发展尤为迅速,每年均有数以百计的新算法诞生,其中包括 canny 算法、小波变换等多种有相当影响的算法,这些算法在设计时大量运用数学、数字信号处理、 信息论以及色度学的有关知识,而且不少新算法还充分吸取了神经网络、遗传算法、人工 智能以及模糊逻辑等相关理论的一些思想,开阔了进行 数字图像边缘检测 处理的设计思路。 现代 数字图像边缘检测 处理的目标有三:可视化、自动化和定量化: ( 1)可视化 :当图像被采集并显示时,这些图像通常需 要改善以便观察者更容易解释它们。感兴趣的目标必须突出或者图像各部位之间的对比度需要增强处理
5、。自从像 CT 和 MRI 等三维成像手段问世以来,可视化,特别是三维结构的可视化受到极大的关注。 安徽工程大学数字图像课程设计 用纸 4 ( 2)自动化 :旨在使一些日常的或繁琐的工作自动化。例如,根据一个染色体分布的显微图像自动确定染色体核型的系统,从一个血液涂片自动生成白细胞分类计数报告的系统。这些应用的特征是要求最小的人工干预,全自动完成分析工作。关于白细胞分类计数应用,市售系统是在 1970 年开发成功的。但今天这项任务是以完全不同方式(采用流式白细胞计数技术)自 动完成。 ( 3)定量化 :有关定量化的图像边缘检测的例子有:测量动脉狭窄的程序以及用电子显微镜观察组织切片中特殊成分的
6、定位和定量(如血色素沉着症中的铁元素)。在这些应用中,人工介入是允许的,因为处理时间的长短在这些应用中并不是主要矛盾。 数字图像边缘检测 处理,即用计算机对图像的 边缘 进行处理,这一技术是随着计算机技术发展而开拓出来的一个新的应用领域,汇聚了光学、电子学、数学、摄影技术、计算机技术等学 科的众多方面。 图像边缘检测 处理作为一门学科已经被美国数学学会列为应用数学的一个研究分支。在其短暂的发展历史中,已经 被成功的应用在几乎所有与成像有关的领域。 近年来,图像分析和处理紧紧围绕理论、实现、应用三方面迅速发展起来。它以众多 的学科领域为理论基础,其成果又渗透到众多的学科中,成为理论实践并重,在高
7、新技术领域中占有重要地位的新兴学科分支。 三 设计的主要内容与 原理 3.1 什么是图像 边缘 所谓 图像边缘( Edlge)是指图像局部特性的不连续性,例如,灰度级的突变,颜色的突变,纹理结构的突变等。边缘广泛存在于目标与目标、物体与背景、区域与区域(含不同色彩)之间,它是图像分割所依赖的重要特征。本为主要讨论几种典型的图像灰 度值突变的边缘检测方法,其原理也是用于其他特性突变的边缘检测。 图像的边线通常与图像灰度的一阶导数的不连续性有关。图像灰度的不连续性可分为两类: 阶跃 不连续,即图像灰度再不连续出的两边的像素的灰度只有明显的差异,如图 1.1 所示,线条不连续,即图像灰度突然从一个值
8、变化到另一个值,保持一个较小的行程又返回到原来的值。在实际中, 阶跃和线条 边缘图像是安徽工程大学数字图像课程设计 用纸 5 较少见的,由于空间分辨率(尺度空间)、图像传感器等原因会使 阶跃 边缘变成斜坡形边缘, 线条 边缘变成 房顶 形边缘。它们的灰度变化不是瞬间的而是跨越一定距离的。 在讨论边缘检测方法之前,首先介绍一些术语的定义。 ( 1) 边缘点:图像中灰度显著变化的点。 ( 2) 边缘段:边缘点坐标 ji, 及方向 的总和,边缘的方向可以是梯度角。 ( 3) 轮廓:边缘列表,或者是一条边缘列表的曲线模型。 ( 4) 边缘检测器:从图像抽取边缘(边缘点或边线段)集合的算法。 ( 5)
9、边缘连接:从无序边缘形成有序边缘表的过程。 ( 6) 边缘跟踪:一个用来确定轮廓图像(指滤波后的图像)的搜索过程。 在 实际中边缘点和边缘段都称为边缘。 3.2 图像 边 缘提取的基本原理 与 过程 边缘是图像最基本的特征,所谓边缘就是指周围灰度强度有反差变化的那些像素的集合,是图像分割所依赖的重要基础,也是纹理分析和图像识别的重要基础。理想的边缘检测应当正确解决边缘的有无、真假、和定向定位,长期以来,阶跃型 房顶型 突圆型 图 1.1 边缘灰度变化 安徽工程大学数字图像课程设计 用纸 6 人们一直关心这一问题的研究,除了常用的局部算子及以后在此基础上发展起来的种种改进方法外,又提出了许多新的
10、技术。 要做好边缘检测初步准备条件如下: 第一,清楚待检 测的图像特性变化的形式,从而使用适应这种变化的检测方法。 第二,要知道 特 性变化总是发生在一定的空间范围内,不能期望用一种检测算子就能最佳检测出 发生在图像上的所有特性变化。当需要提取多空间范围内的变化特性时,要考虑 多算子的综合应用。 第三,要考虑噪声的影响,其中一个办法就是滤除噪声,这 有一定的局限性 ;再就是考虑信号加噪声的条件检测,利用统计信号分析,或通 过对图像区域的建模,而进一步使检测参数化。 第四,可以考虑各种方法的组合,如先找出边缘,然后在其局部利用函数近似,通过内插等获得高精度定位。 第五, 在正确检测边缘的基础上,
11、要考虑精确定位的问题。经典的边缘检测方法得到的往往是断续 的、不完整的结构信息,噪声也较为敏感,为了有效抑制噪声,一般 都首先对原图像进行平滑,再进行边缘检测就能成功地检测到真正的边缘。 从人的直观感受来说,边缘对应于物体的几何边界。图像上灰度变化剧烈的区域比较符合这个要求,我们一般会以这个特征来提取图像的边缘。但在遇到包含纹理的图像上,这有点问题,比如说,图像中的人穿了黑白格子的衣服,我们往往不希望提取出来的边缘包括衣服上的方格。这就又涉及到纹理图像的处理等方法。但一般认为边缘提取是要保留图像的灰度变化剧烈的区域,这从数学上,最直观的方法就是微分 (对于数字图像来说 就是差分 ),在信号处理
12、的角度来看,也可以说是用高通滤波器,即保留高频信号。用于图像识别的边缘提取往往需要输出的边缘是二值图像,即只有黑白两个灰度的图像,其中一个灰度代表边缘,另一个代表背景。此外,还需要把边缘细化成只有一个像素的宽度。 图 像 边缘检测的基本步骤 : ( 1)滤波。边缘检测主要基于导数计算,但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。 ( 2)增强。增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。 ( 3)检测。但在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。 ( 4)定位。精确确定边缘的位置。 总的说来传 统边缘检测的流程图如下
13、: 安徽工程大学数字图像课程设计 用纸 7 图 2.2 边缘检测的流程图 特征提取作为图像边缘检测的一个重要内容,发展了众多的方法。这些方法经过实践的检验,成为了经典的内容。经典的边缘检测算子包括 :Roberts 算 子,Prewitt 算子, Sobel 算子, Log (Laplacian of Gaussian)算子 等。这些经典的边缘提取算子在使用时都是使用预定义好的边缘模型去匹配。 3.3 对 边缘 检测与提取 算法 的介绍 (以 Canny 与 Log 为例) 边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰
14、度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。 经典的边界提取技术大都基于微分运算。首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。 3.3.1 坎尼( Canny) 边缘算子 检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素 点。图 像 边缘检测必须满足两个条件:一 是必须 能有效地抑制噪声;二 是 必须尽量精确确定边缘的位置。 既要提高 边缘检测 算子对边缘的敏感性,同时也提高了对噪声的敏感。 原始图像 平滑图像 平滑图像 得出边缘的二值化图像既检出
15、边缘点 阈值分割 梯度算子 边缘增强 边缘检测 边缘定位 图像滤波 安徽工程大学数字图像课程设计 用纸 8 1.Canny 边缘检测基本原理 : (1)具有既能滤去噪声又保持边缘特性的边缘检测最优滤波器,其采用一阶微分滤波器。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像 边缘 。 根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是 Canny 边缘检测算子。 (2)类似与 Marr( LOG)边缘检测方法,也属于先平滑后求导数的方法。 2.Canny 边缘检测算法 : step1:用高斯滤波器
16、平滑图象; step2:用一阶偏导的有限差分来计算梯度的幅值和方向; step3:对梯度幅值进行非极大值抑制; step4:用双阈值算法检测和连接边缘。 其数学描述如下: step1: 二维为高斯函数为: ),( yxG = 221 2 222exp yx 在某一方向 n 上 是 ),( yxG 的一阶方向导数为: nG = nG = n G n= sincosG =yGxG式中: n 式方向矢量, G 是梯度 矢量。 将图像 ),( yxf 与 nG 作卷积,同时改变 n 的方向, nG * ),( yxf 取得最大值时的 n 就是正交于检测边缘的方向。 step2: XE = *xG ),
17、( yxf , yE =yG* ),( yxf ),( yxA = 22 YX EE YXEEArc tan 安徽工程大学数字图像课程设计 用纸 9 ),( yxA 反映了图像 (x,y)点处的边缘强度, 是图像 (x,y)点处的法向矢量。 step3: 仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。( non-MaxiMa suppression,NMS) 解决方 法:利用梯度的方向。 图 示 -非极大值抑制 四个扇区的标号为 0到 3,对应 3*3 邻域的四种可能组合。在每一点上,邻域的中心像素 M 与沿着梯度线的两个像素相比。如果 M 的梯
18、度值不比沿梯度线的两个相邻像素梯度值大,则令 M=0。 step4: 减少假边缘段数量的典型方法是对 G(x,y)使用一个阈值。将低于阈值的所有值赋零值。但问题是如何 选取阈值? 解决方法:双阈值算法 进行 边缘 判别和 连接边缘。 首先是边缘判别: 凡是 边缘 强度大于高阈值的一定是 边缘 点;凡是 边缘强度小于低阈值的一定不是 边缘 点;如果 边缘 强度大于低阈值又小于高阈值,则看这个像素的邻接像素中有没有超过高阈值的 边缘 点,如果有,它就是 边缘 点,如果没有,它就不是 边缘 点。 其次是 连接边缘 : 双阈值算法对非极大值抑制图像作用两个阈值 1 和2 ,且 212 ,从而可以得到两
19、个阈值边缘图像 G1(x,y)和 G2(x,y)。由于G2(x,y)使用高阈值得到,因而含有很少的假边缘,但有间断 (不闭合 )。双阈值法要在 G2(x,y)中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在 G1(x,y)的 8 邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在 G1(x,y)中收集边缘,直到将 G1(x,y)连接起来为止。 实际上,还有多种边缘点判别方法,如:将边缘的梯度分为四种:水平、竖直、 45 度方向、 135 度方向。各个方向用不同的 邻接像素进行比较,以决定局部极大值。若某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比并不是最大的,那么将该像素置为零,
20、即不是边缘。 此外,在实际应用中,检测效果还与滤波模板大小有 关,当 12 bN 时有较好的检测效果。 安徽工程大学数字图像课程设计 用纸 10 Canny 算子检测方法的优点:低误码率,很少把 边缘点误认为非边缘点; 高定位精度,即精确地把边缘点定位在灰度变化最大的像素上; 抑制虚假边缘。 3.3.2 Log 边缘算子 现在介绍一种利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以在边缘增强前滤除噪声。为此,马尔( Marr)和希尔得勒斯( Hildreth)根据人类视觉特性提出了一种 边缘检测的方法,该方法将高斯滤波和 拉普拉斯检测算子结合在一起进行 边缘检测的方法,故称为
21、 Log( Laplacian of Gassian )算法。也称之为拉普拉斯高斯算法。该算法的主要思路和步骤如下: ( 1) 滤波:首先对图像 f(x,y)进行平滑滤波,其滤波函数 根据人类视觉特性选为 高斯函数,即: )(2 1e x p2 1),( 2222 yxyxG 其中, G( x, y)是一个圆对称函数,其平滑的作用是可通过 来控制的。将图像 ),( yxG 与 ),( yxf 进行卷积,可以得到一个平滑的图像,即: ),(*),(),( yxGyxfyxg ( 2)增强:对 平滑图像 ),( yxg 进行 拉普拉斯运算,即: ),(*),(),( 2 yxGyxfyxh ( 3
22、) 检测:边缘检测 判据是 二阶导数的零交叉点(即 0),( yxh 的点)并对应一阶导数的较大峰值。 这种方法的特点是图像首先与 高斯滤波器进行卷积,这样既平滑了 图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除。但是由于平滑会造成图像边缘 的延伸,因此 边缘检测器只考虑那些具有局部梯度最大值的点为边缘点。这一点可以用 二阶导数的零交叉点来实现。 拉普拉斯函数用二维二阶导数的近似,是因为它是一种无方向算子。在实际应用中为了避免检测出非显著边缘,应选择 一阶导数大于某一阈值的零交叉点作为边缘点。 由于对平滑图像 ),( yxg 进行拉普拉斯运算可等效为 ),( yxG 的拉普拉斯运算与 ),( yxf 的卷积,故上式变为: ),(yxh = ),(*),( 2 yxGyxf 式中 ),(2 yxG 称为 LOG 滤波器,其为: