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