您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于matlab的图像边缘检测算法研究和仿真DOC
基于matlab的图像边缘检测算法研究和仿真目录第1章绪论11.1序言11.2数字图像边缘检测算法的意义1第2章传统边缘检测方法及理论基础22.1数字图像边缘检测的现状与发展22.2MATLAB和图像处理工具箱的背景知识32.3数字图像边缘检测关于边缘的定义42.4基于一阶微分的边缘检测算子42.5基于二阶微分的边缘检测算子7第3章编程和调试103.1edge函数103.2边缘检测的编程实现11第4章总结13第5章图像边缘检测应用领域13附录参考文献15第1章绪论§1.1序言理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。图像边缘是分析理解图像的基础,它是图像中最基本的特征。在Marr的计算机视觉系统中,图像边缘提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。图像边缘提取作为计算机视觉领域最经典的研究课题,长期受到人们的重视。图像边缘主要划分为阶跃状和屋脊状两种类型。阶跃状边缘两侧的灰度值变化明显,屋脊状边缘则位于灰度增加与减少的交界处。传统的图像边缘检测方法大多是从图像的高频分量中提取边缘信息,微分运算是边缘检测与提取的主要手段。由于传统的边缘检测方法对噪声敏感,所以实际运用效果有一定的局限性。近年来,越来越多的新技术被引入到边缘检测方法中,如数学形态学、小波变换、神经网络和分形理论等。Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用,并成了与其它实验结果作比较的标准。其原因在于他最先建立了优化边缘检测算子的理论基础,提出了迄今为止定义最为严格的边缘检测的三个标准。另外其相对简单的算法使得整个过程可以在较短的时间内实现。实验结果也表明,Canny算子在处理受加性高斯白噪声污染的图像方面获得了良好的效果[1]。§1.2数字图像边缘检测算法的意义数字图像处理是控制领域的重要课题,数字图像边缘检测是图像分割、目标区域识别和区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要方法。边缘中包含图像物体有价值的边界信息,这些信息可以用于图像理解和分析,并且通过边缘检测可以极大地降低后续图像分析和处理的数据量。图像理解和分析的第一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。图像的边缘检测技术是数字图像处理技术的基础研究内容,是物体识别的重要基础。边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体视觉等领域。现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面2自适应能力很差,有待进一步改进和提高。(1)多谱图像是图像配准技术中的一个难点,传统的图像配准技术只适用于同源图像,由于红外图像和可见光遥感图像的成像波段不同,对于同一场景,所采集到的图像的差异很大。在此课题中,作者首先通过边缘检测,得到红外图像与遥感可见光图像的边缘图像,再通过尺度不变特征匹配,就能得到红外图像与可见光遥感图像之间的透视变换关系,从而成功完成了多谱图像配准[2]。(2)在“货运列车动态图像故障检测系统(TFDS,TroubleOfMovingFreightCarDetectionsystem)中的故障识别”的课题中,作者采用水平Sobel算子检测边缘,对边缘图像进行水平方向投影,计算得到货运列车底部心盘螺栓大致区域的图像,然后用Harris算子得到一些候选故障区域,最后通过相关匹配来识别故障。(3)在“基于双目立体视觉的人体动作捕捉系统”的课题中,利用图像的边缘和深度信息从视频中分割出人体前景图像。因此对图像边缘检测技术理论及其应用进行研究都有很重要的意义。第2章传统边缘检测方法及理论基础§2.1数字图像边缘检测的现状与发展在数字图像处理中,边缘特征是图像的重要特征之一,是图像处理、模式识别和计算机视觉的重要组成部分之一,图像边缘检测的结果直接影响进一步图像处理、模式识别的效果。近几十年来,图像边缘检测技术成为数字图像处理技术重要研究课题之一,随着科学技术的发展,研究人员提出了很多图像边缘检测方法及边缘检测效果的评价方法,并且将这些边缘检测技术应用于计算机视觉和模式识别工程领域,使得边缘检测技术的应用范围越来越广,图像的边缘一般是图像的灰度或者颜色发生剧烈变化的地方,而这些变化往往是由物体的结构和纹理,外界的光照和物体的表面对光的反射造成的。图像的边缘反映了物体的外观轮廓特征,是图像分析和模式识别的重要特征,数字图像处理技术是一门交叉学科,数学理论、人工智能、视觉生理学和心理学等各种理论为边缘检测技术研究注入新的活力,涌现出很多边缘检测理论和方法。根据边缘检测所处理的图像类型,可分为两大类:灰度图像边缘检测方法和彩色图像边缘检测方法。基于本论文仅研究讨论灰度图像边缘检测,这里介绍经典的灰度图像边缘检测方法。灰度图像的边缘是像素的灰度值发生变化的地方,这些变化通常是屋顶变化或者阶3跃变化,图像屋顶变化或者阶跃变化的大小一般用灰度图像一阶导数或二阶导数的大小来描述,所以灰度图像的边缘检测方法主要分为两大类:一阶微分图像边缘检测算子(如Roberts算子、Sobel算子、Prewitt算子)和二阶微分图像边缘检测算子(如Laplacian算子、LOG算子、Canny算子)。一般来讲,一个好的边缘检测算法应满足如下要求:(1)检测精度高;(2)抗噪能力强;(3)计算简单;(4)易于并行实现。其中最根本的问题是解决检测精度与抗噪声能力间的矛盾。从理论上讲,这两者之间存在着相互制约的互变关系,即不确定性原则。这一原则可表述为,一个信号不可能在时域和频域中任意高度集中。因而边缘的定位精度和抗噪声能力不可能同时无限地提高,这两项指标的乘积为一常数,理论上可以通过改变空域形式来获得任意好的定位精度或信噪比,但不能两者都得到改善。因此,衡量一个检测方法的标准也不能只看某一指标的高低,而应考察其综合指标是否达到理论上的极限。虽然迄今已出现了众多的理论和方法,而且有些方法发展得相当成熟,但从这个意义上讲还没有一种普遍适于任何条件的最优算法。为此人们已将注意力放在研究更直接的、专用的和面向对象的视觉信息系统,如“主动视觉”,“定性视觉”、“面向任务的视觉”等,通过强调场景和任务的约束、增加信息输入和降低对输出的要求等手段来降低视觉处理问题的难度。这些思想大大丰富和补充了原来的理论,使算法向具体化、实用化方向发展,已成为视觉信息处理中有前途的发展方向[3]。§2.2MATLAB和图像处理工具箱的背景知识MATLAB对于技术计算来说是一种高性能语言。它以易于应用的环境集成了计算、可视化的编程,在该环境下,问题及其解以我们熟悉的数学表示法来表示。典型的应用包括如下方面[4]:(1)数学和计算(2)算法开发(3)数据获取(4)建模、模拟和原型设计(5)数据分析、研究和可视化(6)科学和工程图形(7)应用开发,包括图像用户界面构建4MATLAB是一种交互式系统,其基本数据元素是并不要求确定维数的一个数组。这就允许人们用公式化方法求解许多技术计算问题,特别是涉及矩阵表示的问题。有时,MATLAB可调用C或Fortran这类非交互式语言所编写的程序。在高等院校中,对于数学、工程和科学理论中的入门课程和高级课程,MATLAB都是标准的计算工具。图像处理工具箱是一个MATLAB函数(称为M函数或M文件)集,它扩展了MATLAB解决图像处理问题的能力。其他有时用于补充IPT的工具箱是信号处理、神经网络、模糊逻辑和小波工具箱。§2.3数字图像边缘检测关于边缘的定义边缘是不同区域的分界线,是图像局部强度变化最显著的那些像素的集合。图像强度的显著变化可分为:(1)阶跃变化(函数),即图像强度在不连续处的两边的像素灰度值有着显著差异;(2)线条(屋顶)变化(函数),即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值。边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘是位于两个区域的边界线上的连续像素集合,在边缘处,灰度和结构等信息产生突变。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘。§2.4基于一阶微分的边缘检测算子图像的局部边缘定义为两个强度明显不同的区域之间的过渡,图像的梯度函数即图像灰度变化的速率将在这些过度边界上存在最大值,通过基于梯度算子或导数检测器来估计图像灰度变化的梯度方向,增加图像的这些变化区域,然后对该梯度进行阈值运算,如果梯度值大于某个给定门限,则存在边缘。再将被确定为边缘的像素连接起来,以形成包围着区域的封闭曲线。一阶导数可以用于检测图像中的一个点是否在斜坡上,二阶导数的符号可以用于判断一个边缘点是在边缘亮的一边还是暗的一边。5两种常见的边缘一阶导数和二阶导数示意图[5]:(a)(b)图2.1(a)阶跃函数,(b)线条(屋顶)函数(第一行为理论曲线,第二行为实际曲线,第三行对应一阶导数,第四行对应二阶导数)一阶导数的二维等效式:(,)fxxfyyGGxyG(2-1)梯度的幅值:22|(,)|xyGxyGG(2-2)和方向:(,)arctan(/)yxxyGG(2-3)梯度是灰度(,)fxy在XY坐标方向上的导数,表示灰度(,)fxy在XY坐标方向上的变化率。用差分来近似梯度=(1,)(,)xGfxyfxy(2-4)(,1)(,)yGfxyfxy(2-5)§2.4.1Roberts算子(梯度交叉算子)Roberts算子是一种利用局部差分算子寻找边缘的算子[5]。(,)(,)(1,1)(1,)(,1)Gxyfxyfxyfxyfxy(2-6)6用模板实现:§2.4.2Sobel算子Sobel提出了一种将方差运算与局部平均相结合的方法,即Sobel算子,该算子在以(,)fxy为中心的领域上计算X和Y方向的偏导数[6]。即={(1,1)2(1,)(1,1)}{(1,1)2(1,)(1,1)}xSfxyfxyfxyfxyfxyfxy(2-7)={(1,1)2(,1)(1,1)}{(1,1)2(,1)(1,1)}ySfxyfxyfxyfxyfxyfxy(2-8)上式应用了(,)fxy领域的图像强度的加权平均差值。用模板实现:§2.4.3Prewitt算子Prewitt提出的类似于Sobel的计算偏微分估计值的方法[7]={(1,1)(1,)(1,1)}{(1,1)(1,)(1,1)}xPfxyfxyfxyfxyfxyfxy(2-9)={(1,1)(,1)(1,1)}{(1,1)(,1)(1,1)}yPfxyfxyfxyfxyfxyfxy(2-10)01-10100-1121000-1-2-1-101-202-101图2.2Roberts算子的模板图2.3Sobel算子的33模板7用模板实现:图2.4Prewitt算子的33模板§2.4.4Canny算子Canny边缘检测利用高斯函数的一阶微分,在噪声抑制和边缘检测之间寻求较好的平衡,其表达式近似于高斯函数的一阶导数。Canny算子是一阶算子。其方法的实质是用1个准高斯函数作平滑运算fs=f(x,y)×G(x,y),然后以带方向的一阶微分算子定位导数最大值。平滑后fs(x,y)的梯度可以使用2×2一阶有限差分近似式:在这个2×2正方形内求有限差分的均值,便于在图像中的同一点计算x和y的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐标转化来计算:在这个2×2正方形内求有限差分的均值,便于在图像中的同一点计算x和y的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐标转化来计算:M[i,j]反映了图像
本文标题:基于matlab的图像边缘检测算法研究和仿真DOC
链接地址:https://www.777doc.com/doc-3876252 .html