版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于matlab的图像边沿检测算法研究和仿真目录第1章绪论11.1前言11.2数字图像边沿检测算法的意义1第2章传统边沿检测办法及理论基础22.1数字图像边沿检测的现状与发展22.2MATLAB和图像解决工具箱的背景知识32.3数字图像边沿检测有关边沿的定义42.4基于一阶微分的边沿检测算子42.5基于二阶微分的边沿检测算子7第3章编程和调试103.1
edge函数103.2
边沿检测的编程实现11第4章总结13第5章图像边沿检测应用领域13附录参考文献15第1章绪论§1.1前言理解图像和识别图像中的目的是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中都有边沿产生。图像边沿是分析理解图像的基础,它是图像中最基本的特性。在Marr的计算机视觉系统中,图像边沿提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。图像边沿提取作为计算机视觉领域最典型的研究课题,长久受到人们的重视。图像边沿重要划分为阶跃状和屋脊状两种类型。阶跃状边沿两侧的灰度值变化明显,屋脊状边沿则位于灰度增加与减少的交界处。传统的图像边沿检测办法大多是从图像的高频分量中提取边沿信息,微分运算是边沿检测与提取的重要手段。由于传统的边沿检测办法对噪声敏感,因此实际运用效果有一定的局限性。近年来,越来越多的新技术被引入到边沿检测办法中,如数学形态学、小波变换、神经网络和分形理论等。Canny于1986年提出基于最优化算法的边沿检测算子,得到了广泛的应用,并成了与其它实验成果作比较的原则。其因素在于他最先建立了优化边沿检测算子的理论基础,提出了迄今为止定义最为严格的边沿检测的三个原则。另外其相对简朴的算法使得整个过程能够在较短的时间内实现。实验成果也表明,Canny算子在解决受加性高斯白噪声污染的图像方面获得了良好的效果[1]。§1.2数字图像边沿检测算法的意义数字图像解决是控制领域的重要课题,数字图像边沿检测是图像分割、目的区域识别和区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特性的一种重要办法。边沿中包含图像物体有价值的边界信息,这些信息能够用于图像理解和分析,并且通过边沿检测能够极大地减少后续图像分析和解决的数据量。图像理解和分析的第一步往往就是边沿检测,现在它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。图像的边沿检测技术是数字图像解决技术的基础研究内容,是物体识别的重要基础。边沿特性广泛应用于图像分割、运动检测与跟踪、工业检测、目的记别、双目立体视觉等领域。现有边沿检测技术在克制噪声方面有一定的局限性,在阈值参数选用方面自适应能力很差,有待进一步改善和提高。(1)多谱图像是图像配准技术中的一种难点,传统的图像配准技术只合用于同源图像,由于红外图像和可见光遥感图像的成像波段不同,对于同一场景,所采集到的图像的差别很大。在此课题中,作者首先通过边沿检测,得到红外图像与遥感可见光图像的边沿图像,再通过尺度不变特性匹配,就能得到红外图像与可见光遥感图像之间的透视变换关系,从而成功完毕了多谱图像配准[2]。(2)在“货运列车动态图像故障检测系统(TFDS,TroubleOfMovingFreightCarDetectionsystem)中的故障识别”的课题中,作者采用水平Sobel算子检测边沿,对边沿图像进行水平方向投影,计算得到货运列车底部心盘螺栓大致区域的图像,然后用Harris算子得到某些候选故障区域,最后通过有关匹配来识别故障。(3)在“基于双目立体视觉的人体动作捕获系统”的课题中,运用图像的边沿和深度信息从视频中分割出人体前景图像。因此对图像边沿检测技术理论及其应用进行研究都有很重要的意义。第2章传统边沿检测办法及理论基础§2.1数字图像边沿检测的现状与发展在数字图像解决中,边沿特性是图像的重要特性之一,是图像解决、模式识别和计算机视觉的重要构成部分之一,图像边沿检测的成果直接影响进一步图像解决、模式识别的效果。近几十年来,图像边沿检测技术成为数字图像解决技术重要研究课题之一,随着科学技术的发展,研究人员提出了诸多图像边沿检测办法及边沿检测效果的评价办法,并且将这些边沿检测技术应用于计算机视觉和模式识别工程领域,使得边沿检测技术的应用范畴越来越广,图像的边沿普通是图像的灰度或者颜色发生激烈变化的地方,而这些变化往往是由物体的构造和纹理,外界的光照和物体的表面对光的反射造成的。图像的边沿反映了物体的外观轮廓特性,是图像分析和模式识别的重要特性,数字图像解决技术是一门交叉学科,数学理论、人工智能、视觉生理学和心理学等多个理论为边沿检测技术研究注入新的活力,涌现出诸多边沿检测理论和办法。根据边沿检测所解决的图像类型,可分为两大类:灰度图像边沿检测办法和彩色图像边沿检测办法。基于本论文仅研究讨论灰度图像边沿检测,这里介绍典型的灰度图像边沿检测办法。灰度图像的边沿是像素的灰度值发生变化的地方,这些变化普通是屋顶变化或者阶跃变化,图像屋顶变化或者阶跃变化的大小普通用灰度图像一阶导数或二阶导数的大小来描述,因此灰度图像的边沿检测办法重要分为两大类:一阶微分图像边沿检测算子(如Roberts算子、Sobel算子、Prewitt算子)和二阶微分图像边沿检测算子(如Laplacian算子、LOG算子、Canny算子)。普通来讲,一种好的边沿检测算法应满足以下规定:(1)检测精度高;(2)抗噪能力强;(3)计算简朴;(4)易于并行实现。其中最根本的问题是解决检测精度与抗噪声能力间的矛盾。从理论上讲,这两者之间存在着互相制约的互变关系,即不拟定性原则。这一原则可表述为,一种信号不可能在时域和频域中任意高度集中。因而边沿的定位精度和抗噪声能力不可能同时无限地提高,这两项指标的乘积为一常数,理论上能够通过变化空域形式来获得任意好的定位精度或信噪比,但不能两者都得到改善。因此,衡量一种检测办法的原则也不能只看某一指标的高低,而应考察其综合指标与否达成理论上的极限。即使迄今已出现了众多的理论和办法,并且有些办法发展得相称成熟,但从这个意义上讲还没有一种普遍适于任何条件的最优算法。为此人们已将注意力放在研究更直接的、专用的和面对对象的视觉信息系统,如“主动视觉”,“定性视觉”、“面对任务的视觉”等,通过强调场景和任务的约束、增加信息输入和减少对输出的规定等手段来减少视觉解决问题的难度。这些思想大大丰富和补充了原来的理论,使算法向具体化、实用化方向发展,已成为视觉信息解决中有前途的发展方向[3]。§2.2MATLAB和图像解决工具箱的背景知识MATLAB对于技术计算来说是一种高性能语言。它以易于应用的环境集成了计算、可视化的编程,在该环境下,问题及其解以我们熟悉的数学表达法来表达。典型的应用涉及以下方面[4]:(1)数学和计算(2)算法开发(3)数据获取(4)建模、模拟和原型设计(5)数据分析、研究和可视化(6)科学和工程图形(7)应用开发,涉及图像顾客界面构建MATLAB是一种交互式系统,其基本数据元素是并不规定拟定维数的一种数组。这就允许人们用公式化办法求解许多技术计算问题,特别是涉及矩阵表达的问题。有时,MATLAB可调用C或Fortran这类非交互式语言所编写的程序。在高等院校中,对于数学、工程和科学理论中的入门课程和高级课程,MATLAB都是原则的计算工具。图像解决工具箱是一种MATLAB函数(称为M函数或M文献)集,它扩展了MATLAB解决图像解决问题的能力。其它有时用于补充IPT的工具箱是信号解决、神经网络、含糊逻辑和小波工具箱。§2.3数字图像边沿检测有关边沿的定义边沿是不同区域的分界限,是图像局部强度变化最明显的那些像素的集合。图像强度的明显变化可分为:(1)阶跃变化(函数),即图像强度在不持续处的两边的像素灰度值有着明显差别;(2)线条(屋顶)变化(函数),即图像强度忽然从一种值变化到另一种值,保持一较小行程后又回到原来的值。边沿重要存在于目的与目的、目的与背景、区域与区域(涉及不同色彩)之间,边沿是位于两个区域的边界限上的持续像素集合,在边沿处,灰度和构造等信息产生突变。边沿是一种区域的结束,也是另一种区域的开始,运用该特性能够分割图像。图像的边沿有方向和幅度两个属性,沿边沿方向像素变化平缓,垂直于边沿方向像素变化激烈。边沿上的这种变化能够用微分算子检测出来,普通用一阶或二阶导数来检测边沿。§2.4基于一阶微分的边沿检测算子图像的局部边沿定义为两个强度明显不同的区域之间的过渡,图像的梯度函数即图像灰度变化的速率将在这些过分边界上存在最大值,通过基于梯度算子或导数检测器来预计图像灰度变化的梯度方向,增加图像的这些变化区域,然后对该梯度进行阈值运算,如果梯度值不不大于某个给定门限,则存在边沿。再将被拟定为边沿的像素连接起来,以形成包围着区域的封闭曲线。一阶导数能够用于检测图像中的一种点与否在斜坡上,二阶导数的符号能够用于判断一种边沿点是在边沿亮的一边还是暗的一边。两种常见的边沿一阶导数和二阶导数示意图[5]:(a)(b)图2.1(a)阶跃函数,(b)线条(屋顶)函数(第一行为理论曲线,第二行为实际曲线,第三行对应一阶导数,第四行对应二阶导数)一阶导数的二维等效式: (2-1)梯度的幅值: (2-2)和方向: (2-3)梯度是灰度在坐标方向上的导数,表达灰度在坐标方向上的变化率。用差分来近似梯度 (2-4) (2-5)§2.4.1Roberts算子(梯度交叉算子)Roberts算子是一种运用局部差分算子寻找边沿的算子[5]。 (2-6)01-10用模板实现:100-1图2.2图2.2Roberts算子的模板§2.4.2Sobel算子Sobel提出了一种将方差运算与局部平均相结合的办法,即Sobel算子,该算子在觉得中心的领域上计算和方向的偏导数[6]。即 (2-7) (2-8)上式应用了领域的图像强度的加权平均差值。用模板实现:121000-1-2-1-101-202-101图2.3Sobel算子的模板图2.3Sobel算子的模板§2.4.3Prewitt算子Prewitt提出的类似于Sobel的计算偏微分预计值的办法[7] (2-9) (2-10)111000-1-1-1用模板实现:-101-101-101图2.4Prewitt算子的模板§2.4.4CannyCanny边沿检测运用高斯函数的一阶微分,在噪声克制和边沿检测之间谋求较好的平衡,其体现式近似于高斯函数的一阶导数。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]反映了图像的边沿强度;∂
[i,j]反映了边沿的方向。使得M[i,j]获得局部最大值的方向角∂
[i,j],就反映了边沿的方向。Canny算子也可用高斯函数的梯度来近似,在理论上很靠近4个指数函数的线性组合形成的最佳边沿算子。在实际工作应用中编程较为复杂且运算较慢。Canny边沿检测算子对受加性噪声影响的边沿检测是最优的。§2.5基于二阶微分的边沿检测算子一阶微分是一种矢量,不仅有其大小尚有方向,和标量相比,它数据存储量大。另外,在含有相等斜率的宽区域上,有可能将全部区域都当做边沿提取出来。因此,有必规定出斜率的变化率,即对图像函数进行二阶微分运算。图像强度的二阶导数的零交叉点就是找到的边沿点[7],如图2.5所示:图2.5图像函数的二阶微分§2.5.1Laplacian算子Laplacian算子[8]运用二阶导数信息,含有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度成果不变。使得图像通过二阶微分后,在边沿处产生一种陡峭的零交叉点,根据这个对零交叉点判断边沿。拉普拉斯算子是二阶导数的二维等效式: (2-11)上式应用Laplacian算子提取边沿的形式,及二阶偏导数的和,是一种标量,其离散计算形式定义为: (2-12)这一近似式是以点为中心的,用替代,则 (2-13)同理: (2-14)对于一种的区域,经验上被推荐最多的形式,算子表达为: (2-15)§2.5.2LOG算子由于梯度算子和拉普拉斯算子都对噪声十分敏感,因而在检测前必须滤除噪声。Marr和Hildreth将高斯滤波和拉普拉斯边沿检测结合在一起,形成LOG(Laplacian-Gauss)算法。LOG边沿检测的基本特性[9]为:(1)平滑滤波器是高斯滤波器;(2)增强环节采用二阶导数(二维拉普拉斯函数);(3)边沿检测判据是二阶导数零交叉点并对应一阶导数的较大峰值;(4)使用线性内插办法在子像素分辨率水平上预计边沿的位置。该算子首先用高斯函数对图像作平滑滤波解决,然后才使用Laplacian算子检测边沿,因此克服了Laplacian算子抗噪声能力比较差的缺点,但是在克制噪声的同时也可能将原有的比较锋利的边沿也平滑掉了,造成这些锋利边沿无法被检测到。在实际应用中,惯用的LOG算子是的模板:-2-4-4-4-2-4080-4-48248-4-4080-4-2-4-4-4-2图2.6LOG算子的的模板该算法的重要思路和环节以下:(1)滤波:首先对图像进行平滑滤波,其滤波函数根据人类视觉特性选为高斯函数,即 (2-16)其中,是一种圆对称函数,其平滑的作用是可通过来控制的。将图像与进行卷积,能够得到一种平滑的图像,即 (2-17)(2)增强:对平滑图像进行拉普拉斯运算,即 (2-18)(3)检测:边沿检测判据是二阶导数的零交叉点(即的点)并对应一阶导数的较大峰值。由于对平滑图像进行拉普拉斯运算可等效为的拉普拉斯运算与的卷积,故上式变为: (2-19)式中称为LOG滤波器,其可写为: (2-20)第三章
编程和调试3.1
edge函数
在MATLAB图像解决工具箱中提供了专门的边沿检测edge函数,由edge函数能够实现各算子对边沿的检测,其调用格式以下:
BW=edge(I,’method’)
BW=edge(I,’method’,thresh)
Bw=edge(I,’method’,thresh,direction)
[BW,thresh]=edge(I,’method’,…)
其中,I是输入图像。edge函数对灰度图像I进行边沿检测,返回与I同样大的二值图像BW;其中1表达边沿,表达非边沿。I能够是uint8型、uint16型或double型;BW是uint8型。
method是表达选用的办法(算子)类型,能够选择的method有Sobel、Prewitt、Roberts、Log、Canny等。
可选的参数有thresh(阈值)、sigma(方差)和direction(方向)。
3.2
边沿检测的编程实现
运用edge函数,分别采用Sobel、Roberts、Prewitt、Log、Canny
5种不同的边沿检测算子编程实现对图5.1所示的原始图像进行边沿提取。程序代码以下:
%MATLAB调用edge函数实现各算子进行边沿检测程序
I=imread('tire.tif');%读入灰度图像并显示
figure(1),imshow(I);
BW1=edge(I,'sobel',0.1);%用sobel算子进行边沿检测,判断阈值为0.1
figure(2),imshow(BW1)
BW2=edge(I,'roberts',0.1);%用roberts算子进行边沿检测,判断阈值为0.1
figure(3),imshow(BW2)
BW3=edge(I,'prewitt',0.1);%用prewitt算子进行边沿检测,判断阈值为0.1
figure(4),imshow(BW3)
BW4=edge(I,'log',0.01);%用log算子进行边沿检测,判断阈值为0.01
figure(5),imshow(BW4)
BW5=edge(I,'canny',0.1);%用canny算子进行边沿检测,判断阈值为0.1
figure(6),imshow(BW5)
检测效果如图5.2所示,从图中能够看出,在采用一阶微分进行边沿检测时,除了微分算子对边沿检测成果有影响外,阈值选择也对检测有重要影响。比较几个边沿检测成果,能够看到Canny算子提取边沿较完整,其边沿持续性较好,效果优于其它算子。另首先是Prewitt算子,其边沿比较完整。再次就是Sobel算子。第4章总结近几十年来,图像边沿检测技术成为数字图像解决技术重要研究课题之一,随着科学技术的发展,研究人员提出了诸多图像边沿检测办法及边沿检测效果的评价办法,并且将这些边沿检测技术应用于计算机视觉和模式识别工程领域,使得边沿检测技术的应用范畴越来越广。边沿特性广泛应用于图像分割、运动检测与跟踪、工业检测、目的记别、双目立体视觉等领域。现有边沿检测技术在克制噪声方面有一定的局限性,在阈值参数选用方面自适应能力很差,有待进一步改善和提高。运用MATLAB,我们能够很方便的对图像边沿检测算法进行仿真研究,比较各自的优缺点,得到最优、效果最佳的算法来进行图像解决。
Roberts算子定位比较精确,但由于不涉及平滑,因此对于噪声比较敏感。Prewitt算子是平均滤波的一阶的微分算子,检测的图像边沿可能不不大于2个像素,对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,解决效果就不抱负了。Canny办法则以一阶导数为基础来判断边沿点。它是一阶传统微分中检测阶跃型边沿效果最佳的算子之一。
梯度算子计算简朴,但精度不高,只能检测出图像大致的轮廓,而对于比较细的边沿可能会无视。Prewitt和Sobel算子比Roberts效果要好某些。Log滤波器和Canny算子的检测效果优于梯度算子,能够检测出图像较细的边沿部分。
比较几个边沿检测成果,能够看到Canny算子提取边沿较完整,其边沿持续性较好,效果优于其它算子。另首先是Prewitt算子,其边沿比较完整。再次就是Sobel算子。第5章图像边沿检测应用领域图像是人类获取和交换信息的重要来源,因此,图像边沿解决的应用领域必然涉及到人类生活和工作的方方面面。随着人类活动范畴的不停扩大,图像边沿检测与提取解决的应用领域也将随之不停扩大。数字图像边沿检测(Digital
Image
Processing)又称为计算机图像边沿检测,它是指将图像信号转换成数字信号并运用计算机对其进行解决的过程。数字图像边沿检测最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始运用计算机来解决图形和图像信息。数字图像边沿检测中,输入的是质量低的图像,输出的是改善质量后的图像,惯用的图像边沿检测解决办法有图像增强、锐化、复原、编码、压缩、提取等。数字图像边沿检测与提取解决的重要应用领域有:
(1)航天和航空技术方面的应用,数字图像边沿检测技术在航天和航空技术方面的应用,除了月球、火星照片的解决之外,另首先的应用是在飞机遥感和卫星遥感技术中。从60年代末以来,美国及某些国际组织发射了资源遥感卫星(如LANDSAT系列)和天空实验室(如SKYLAB),由于成像条件受飞行器位置、姿态、环境条件等影响,图像质量总不是很高。现在改用配备有高级计算机的图像边沿检测系统来判读分析首先提取出其图像边沿,既节省人力,又加紧了速度,还能够从照片中提取人工所不能发现的大量有用情报。
(2)
生物医学工程方面的应用,数字图像边沿检测在生物医学工程方面的应用十分广泛,并且很有成效。除了CT技术之外,尚有一类是对阵用微小图像的解决分析,如红细胞、白细胞分类检测,染色体边沿分析,癌细胞特性识别等都要用到边沿的鉴别。另外,在X光肺部图像增强、超声波图像边沿检测、心电图分析、立体定向放射治疗等医学诊疗方面都广泛地应用图像边沿分析解决技术。
(3)公安军事方面的应用,公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。现在己投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别(重要是汽车牌照的边沿检测与提取技术)都是图像边沿检测技术成功应用的例子。在军事方面图像边沿检测和识别重要用于导弹的精确制导,多个侦察照片的判读,对不明来袭武器性质的识别,含有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;
(4交通管理系统的应用,随着我国经济建设的蓬勃发展,都市的人口和机动车拥有量也在急剧增加,交通拥挤堵塞现象日趋严重,交通事故时有发生。交通问题已经成为都市管理工作中的重大社会问题,妨碍和制约着都市经济建设的发展。因此要解决都市交通问题,就必须精确掌握交通信息。现在国内常见的交通流检测办法有人工监测、地埋感应线圈、超声波探测器、视频监测4类。其中,视频监测办法比其它办法更具优越性。
视频交通流检测及车辆识别系统是一种运用图像边沿检测技术来实现对交通目的检测和识别的计算机解决系统。通过对道路交通状况信息与交通目的的多个行为(如违章超速,停车,超车等等)的实时检测,实现自动统计交通路段上行驶的机动车的数量、计算行驶车辆的速度以及识别划分行驶车辆的类别等多个有关交通参数,达成监测道路交通状况信息的作用。
图像边沿检测应用在视频交通流检测和车辆识别系统概述:
1.视频交通流量检测及车辆识别系统是一种集图像边沿检测系统和信息管理系统为一体的综合系统。计算机图像边沿检测重要由图像输入,图像存储和刷新显示,图像输出和计算机接口等几大部分构成,这些部分的总体构成方案及各部分的性能优劣直接影响解决系统的质量。图像边沿检测的目的是替代人去解决和理解图像,因此实时性,灵活性,精确性是对系统的重要规定。
2.通过摄像机将道路交通流图像捕获下来,再将这些捕获到的序列图像送入计算机进行图像边沿检测、图像分析和图像理解,从而得到交通流数据和交通状况等交通信息。
3.应用举例
对于车牌识别技术的研究现状,车牌的自动识别是计算机视觉、图像边沿检测与模式识别技术在智能交通领域应用的重要研究课题之一,是实现交通管理智能化的重要环节,重要涉及车牌定位、字符车牌分割和车牌字符识别三个核心环节。发达国家LPR系统在实际交通系统中已成功应用,而我国的开发应用进展缓慢,基本停留在实验室阶段。参考文献[1]ZhangBin,HeSaixian.ImprovedEdge-detectionMethodBasedonCannyalgorithm[J].I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论