• 1.20 MB
  • 2022-09-27 发布

毕业论文---视频图像中运动物体的检测

  • 41页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
视频图像中运动物体的检测摘要运动目标检测处于整个视觉检测系统的最底层,是各种后续高级处理如目标分类、行为理解等的基础。运动目标检测是指从视频流中实时提取目标,一般是确定目标所在区域和颜色特征等。目标检测的结果是一种“静态”目标——前景目标,由一些静态特征所描述。在论文的第一部分介绍了运动目标检测的基本理论以及实现方法;在论文的第二部分简述了模式识别,数学形态学以及边缘检测的概念,重点介绍了数学形态学中的腐蚀和膨胀以及canny算子用于边缘检测的方法。通过观察所需检测的图像的性质,笔者首先使用连通性的概念,进行了算法一的尝试;在不成功后,笔者又利用数学形态学和模式识别结合的方法,在canny算子边缘检测的基础上,进行了算法二的初步尝试,得出了检测结果。并通过对比试验,检测了算法的效果。关键词:运动目标检测,数学形态学,模式识别,边缘检测I\n视频图像中运动物体的检测AbstractThelocomotiontargetdetectingisplacedintheunderstratumofthewholesenseofvisiondetectingsystem,itisalsothebaseofeverykindoffollow-upadvanceddisposesuchasthetargetsorting,behaviorcomprehendingandsoon.Thelocomotiontargetdetectingispick-upingtargetinrealtimefromthevideostream;itiscommonlymakingsuretheregionandcolorcharacteristicetc.Ofthetarget.Theresultofthetargetdetectingisakindof"static"target——foregroundtarget,beingdescribedbysomestaticcharacteristic.Thebasictheoreticsandrealizationmethodofthelocomotiontargetdetectingisintroducedinthefirstpartofthethesis;inthesecondpartofthethesisitissimplydepictingtheconceptionofpatternidentify,mathematicalmorphologyandtheedgedeetecting,itismostlyintroducedthemethodoftheerodinganddilatingofmathematicalmorphology,andtheedgedetectingusingcannyoperator.Acrossingthecharacteroftheobservingakindofpictureneedingdetecting,theauthorfirstlyusestheconceptionofconnectedness,andproceedaccordingtothemethodofconnectednesstargetdetecting,butitisunsuccessful,theauthoraccordingthemethodofunitingmathematicalmorphologyandpatternidentify,onthebasisofedgedetectingusingcannyoperator,proceedaccordingtothemethodofdifferenceoftwoframesthresholdvalueandeducethedetectingresult.Atlast,theauthoraccordingcontrastexperimentation,detecteffectofthearithmetic.KeyWords:targetdetecting,mathematicalmorphology,patternidentify,edgedetectingII\n视频图像中运动物体的检测引言在当今信息时代,社会的发展突飞猛进,各行各业都离不开信息,尤其是图像信息。图像信息处理作为一门跨学科的前沿科技已经广泛的应用在各个领域。运动目标检测是图像信息处理中的重要课题,运动目标检测的结果,常常是下一步的目标跟踪、模式识别、图像理解等高级后处理的输入图像。在许多场合,比如说交通流量的监测等,我们往往对运动的物体更感兴趣。因此研究只对运动目标敏感的检测与跟踪系统是很有意义的。纵观全文,本论文主要完成了以下工作:首先,介绍了边缘检测的基本概念,边缘检测算子的处理,并特别着重介绍了canny算子;其次,介绍了数学形态学和模式识别,特别详细介绍了腐蚀,膨胀,连通性和阈值分割的概念和算法;最后,介绍了作者所使用的两种算法,并做出了对比实验。目录摘要..................................................................................................................................IAbstract............................................................................................................................IIIII\n视频图像中运动物体的检测引言................................................................................................................................III第一章绪言...............................................................................................................11.1引言............................................................................................................11.2运动目标检测的主要方法..........................................................................21.3论文的主要内容..........................................................................................3第二章视频图像中运动目标检测.................................................................................42.1数学形态学...................................................................................................42.1.1腐蚀...........................................................................................................42.1.2膨胀...........................................................................................................62.1.3连通性.......................................................................................................72.2边缘检测.......................................................................................................82.2.1Robert算子...............................................................................................92.2.2Sobel算子.................................................................................................92.2.3Prewitt算子.............................................................................................92.2.4LOG算子.................................................................................................102.2.5canny算子.............................................................................................102.3基于阈值的图像分割..............................................................................132.4视频图像运动目标检测算法..................................................................152.4.1基于连通性运动目标检测..................................................................152.4.1.1算法框图...........................................................................................152.4.1.2算法描述...........................................................................................172.4.2基于帧间差阈值法的运动目标检测..................................................182.4.2.1算法框图...........................................................................................182.4.2.2算法描述...........................................................................................20第三章仿真实验........................................................................................................223.1单运动目标检测.......................................................................................223.2多运动目标检测.......................................................................................26第四章结束语..........................................................................................................29参考文献........................................................................................................................30附录................................................................................................................................31源程序..............................................................................................................31致谢......................................................................................................................................37IV\n视频图像中运动物体的检测第一章绪言1.1引言当前是信息时代,信息的获得,加工,处理和应用等都有了飞跃发展。图像信息处理是一门跨学科的前沿科技。已经广泛的应用在遥感,文件处理,工业检测,机器人视觉,军事,生物医学,地质,海洋,气象,农业,灾害治理,货物检测,邮政编码,金融,公安,银行,工矿企业,冶金,渔业,机械,交通,电子商务,多媒体网络通信等领域。数字图像处理的主要研究目的在于通过对原始图像的再加工,使之能具备更好的视觉效果或能满足某些应用的特定需求。在处理上主要包括图像的采集,编码,存储和传输,图像的合成,图像的增强,变换和复原,模式识别,图像分割,目标的检测,以及数学形态学等诸多内容。图像处理着重强调图像之间进行的各类变换,以及对图像中感兴趣的目标进行的特征提取与目标的分割。这些过程一般可用算法的形式加以表述。图像处理技术近几年发展非常迅猛,每年均有数以百计的新算法诞生,其中包括小波变换等多种有相当影响的算法,这些算法在设计时大量运用了数学,数字信号处理,信息论以及色度学的有关知识,而且不少新算法还充分吸取了神经网络,遗传算法,人工智能以及模糊逻辑等相关理论的一些思想,开阔了进行图像处理的设计思路。然而,在现有的为数众多的图像处理算法中,至今仍没有一种通用的处理算法,大多都是针对某一种或某一类图像而提出来的,在处理时对被处理的图像有很大的依赖性。图像处理技术随着计算机技术的不断发展,得到很大的提高,已经具有自己的技术特色,并形成了较完善的学科体系。近几年来,随着多媒体技术的迅猛发展与计算机性能的不断提高,动态图像处理技术日益受到人们的青睐,并且取得了丰硕的成果,广泛应用于交通管理、军事目标跟踪、生物医学等领域。目标监测系统,可以用计算机代替值班人员在仓库、变电站、银行等重要地方进行监控。由于静态图像处理技术有一定的局限性,而动态图像比静态图像包含更多的信息,因此,引入运动监测很有必要。运动目标检测是机器视觉、视频信息处理和应用视觉研究等领域中的重要课题。在实际应用中,利用运动目标检测算法进行图像分割的结果,常常是下一步的目标跟踪、模式识别、图像理解等高级后处理的输入图像。在现实生活中,大量的有意义的视觉信息包含在运动之中,甚至有些动物的眼睛经过进化,只能看见运动的物体。尽管人类视觉既能看见运动又能看见静止的物体,但是在许多场合,比如说交通1\n视频图像中运动物体的检测流量的监测、重要场所的保安、航空和军用飞行器的制导、汽车的自动驾驶或辅助驾驶等,我们往往对运动的物体更感兴趣。因此研究只对运动目标敏感的检测与跟踪系统是很有意义的。此外,运动目标的研究对象是图像序列,而对图像序列的研究一般要比对单帧图像作静态分析容易。1.2运动目标检测的主要方法目前,检测运动目标的方法主要有光流法和帧间差阈值法。一种常用的运动检测算法为“光流场分割法”。该算法计算场景中的二维速度分布,在目标与背景的速度不同时,将目标从背景中分割出来。光流法的优点是能够检测独立运动的对象,不需要预先知道场景的任何信息,并且可用于摄像机运动的情况,但多数光流法计算复杂耗时,很难实现实时检测。一般情况下,由计算量较大,该算法在图像分辨率很高时只有被固化到硬件中才可以实时应用。由于噪声、多光源、阴影、透明性和遮挡性等原因,使得计算出的光流场分布不是十分可靠和精确,光流场的计算实时性和实用性较差。另一种最直接的运动检测算法——“基于差分图像的直接算法”就是求出场景中当前图像f(x,y,t)与参考图像fr(x,y)相减得到的差分图像Δf(x,y,t),并对其进行滤波、取阈和连通性处理。根据背景是否固定,该算法又可分为固定背景法和相继图像差分法。(1)当前图像与固定背景图象之间的差分;固定背景法适用于摄像机固定、场景环境条件相对稳定的场合,参考图像可取为一定时间内的背景图像。。固定背景法检测物体的优点是位置精确、速度快,因为它只需获取当前的一幅图像。不足之处是受环境光线变化的影响,在非受控环境下需要加入背景图象更新机制,且不适用于摄像头运动或者背景灰度变化很大的情况。(2)当前连续两幅图像(时间间隔Δt)之间的差分。相继图像差分法取参考图像为前一帧图像f(x,y,t-1),所以它只检测与背景有相对运动的物体。由于参考图像不断更新,该算法不易受光线变化的影响,其缺点是检测出目标的位置的精确性受目标相对运动速度的影响。相继图像差分法的优点是它只对运动物体敏感,实际上它只检测相对运动的物体,而且因2幅图像的时间间隔较短,差分图像受光线变化影响小,检测有效而稳定;缺点是检测出的物体的位置不精确,其外接矩形在运动方向上被拉伸,这实际上是由相对运动与物体位置并非完全一致引起的。相对运动受物体本身的运动速度及相继图像之间的时间间隔影响。C.Vieren提出了一种获取运动物体精确位置的方法,但该方法需要连续3帧图像,并要计算梯度图像,算法的计算量大且有一帧时间的滞后性。运动目标的跟踪是确定同一物体在不同帧中位置的过程,当运动物体被正确检2\n视频图像中运动物体的检测测出来时,它就是对相邻帧中检测出的物体进行匹配的问题,匹配的依据主要是物体的大小和位置关系。假设在一帧的时间间隔内跟踪目标的运动轨迹是平滑的,即它的运动参量(速度和加速度)的改变应该尽可能的小。帧间差阈值法速度快,易于硬件实现。不足之处是很难求出运动物体的速度,且当运动物体在成像平面有重叠时,帧间差阈值法不适用。1.3论文的主要内容本文的主要内容是运动目标的检测和跟踪。实验的目标是从一系列视频图像中截取的含有运动目标的图像中检测出运动目标。第二章中阐述了本文所使用的算法以及算法的基本原理。主要讲述了数学形态学方面的基本原理以及本文所使用的两种算法。在第三章中对本文的算法进行了仿真实验。主要是对不同实验图像处理后得到的结果图像说明。通过仿真实验,在第四章中给出了一些结论,以及对以后工作的展望。3\n视频图像中运动物体的检测第二章视频图像中运动目标检测本章详细描述了作者所使用的运动目标检测的两种不同算法,这两种算法都是建立在数学形态学,边缘检测以及阈值分割的基础之上的,在本章中先介绍数学形态学,边缘检测和阈值分割的基本原理和方法,接着再介绍作者所使用的两种算法。2.1数学形态学数学形态学是一门新兴的图像分析学科其基本理论和方法在视觉检测,机器人视觉,医学图像分析等诸多领域都取得了非常成功的应用。数学形态学是一门建立在严格数学理论基础上的学科,其基本思想和方法对图像处理的理论和技术产生了重大影响。许多非常成功的理论模型和视觉检测系统都采用了数学形态学算法作为其理论基础或组成部分。事实上,数学形态学已经构成一种新型的图像处理方法和理论,形态学图像处理已经成为计算机图像处理的一个主要研究领域。下面介绍二值图像的初等形态学运算:腐蚀和膨胀。腐蚀表示用某种“探针”(即某种形状的基元或结构元素)对一个图像进行探测,以便找出在图像内部可以放下该基元的区域。所有数学形态学运算都依赖这一概念。膨胀是腐蚀的对偶运算,可定义为对图像补集进行腐蚀运算。2.1.1腐蚀腐蚀是数学形态学最基本的运算,它的实现是基于填充结构元素的概念。利用结构元素填充的过程,取决于一个基本的欧氏空间运算——平移。将一个集合A平移距离x可以表示为A+x,其定义为:Axax:aA(2-1)从几何上看,A+x表示A延矢量x平移了一段距离。探测的目的,就是标记出图像内部那些可以将结构元素填入的(平移)位置。集合A被集合B腐蚀,表示为AB,其定义为:ABx:BxA(2-2)其中∈表示子集关系。腐蚀还可以用E(A,B)和ERODE(A,B)来表示。其中A称为输入图像,B称为结构元素。AB由将B平移x但仍然包含在A内的所有点x组成。如果将B看作成模板,那么,AB则由在平移模板的过程中,所有可以填入A内部的模板的原点组成。4\n视频图像中运动物体的检测如果原点在结构元素的内部,那么,腐蚀有收缩输入图像的作用,如下图所示。图中结构元素B为一个圆盘。从几何角度看,圆盘在A的内部运动,将圆盘的圆点位置(这里为圆盘的圆心)标记出来,便得到腐蚀后的图像。一般的,可以得到下列性质:如果原点在结构元素的内部,则腐蚀后的图像为输入图像的一个子集;AA(-)BB图2-1腐蚀类似于收缩如果原点在结构元素的外部,那么,腐蚀后的图像则可能不在输入图像的内部,如下图:AA(-)BB图2-2腐蚀不是输入图像的子图像腐蚀除了上述表示方式外,还有一个重要的表达形式:ABAb:bB(2-3)这里,腐蚀可以通过将输入图像平移-b(b属于结构元素),并计算所有平移的交集而得到。这一方法可用下图来表示:AA(-)BBA(-)b5\n视频图像中运动物体的检测图2-3腐蚀为平移的交集从图像处理的观点看,腐蚀的填充定义具有非常重要的含意,上式则无论对计算还是理论分析都十分重要。上式与经典的集合运算具有密切关系,Minkowski首先对此做过研究,A与B的Minkowski差定义为:A(B)Ab:bBx:BxA(2-4)其中Bb:bB为B相对与原点的对称集。即将B对原点旋转180°得到的集合。换言之,Minkowski差是将结构元素转动180°得到的腐蚀运算。上述算式一样都直接适用于数字空间。考虑下面的数字图像S和结构元素E:0101010S01101E1101110将结构元素E在S内平移,检查其填入S的情况,将E平移到点(2,1),可以填入S,故点(2,1)在腐蚀得到的图像内部。将所有可填入结构元素的点标记出来,便得到腐蚀后的图像。0010SE00112.1.2膨胀二值数学形态学的另一个基本运算是膨胀。膨胀是腐蚀运算的对偶运算(逆运算),可以通过对补集的腐蚀来定义。A被B膨胀表示为AB,其定义为:ccABAB(2-5)c其中,A表示A的补集。膨胀还可以用D(A,B)和DILATE(A,B)来表示。为了利c用B膨胀A,可将相对原点旋转180°得到-B,再利用-B对A进行腐蚀。腐蚀结果的补集便是所求得结果。如下图所示:AA(+)BB(+)=图2-4利用圆盘膨胀在上图中,B为一个包含原点的圆盘,利用B对A进行膨胀的结果是使A扩大了。因为膨胀是利用结构元素对图像补集进行填充,因而它表示对图像外部作滤波处理。而腐蚀则表示对图像内部作滤波处理。服侍和膨胀的另一个不同点是膨胀满足交换率:6\n视频图像中运动物体的检测ABBA(2-6)在书写时,按照图像处理的习惯,总是先写出输入图像,然后写出结构元素。如果结构元素为一个圆盘,那么,膨胀可填充图像中的小孔(相对于结构元素而言比较小的孔洞),及在图像边缘处的小凹陷部分。而腐蚀可以消除图像中小的部分,并将图像缩小,从而使其补集扩大。关于膨胀还需讨论两个等效方程。第一个方程为:ABAb:bB(2-7)因而,膨胀可以通过相对结构元素的所有点平移输入图像,然后计算其并集得到。上式所定义的膨胀称为Minkowski和。因为膨胀满足交换率,所以上式还可写成:ABBa:aA(2-8)膨胀的另一个表达方程为:ABx:BxA(2-9)该方程利用击中输入图像,即与输入如果交集不为空的圆点对称结构元素(-B)的平移表示膨胀。1010011110SE11111111102.1.3连通性邻接是像素间的基本关系。除图像边缘外,每个像素都有8个自然邻点,但是在处理技术中采用两种定义:4邻接和8邻接。4邻接只认为一个像素的水平和垂直方向上的自然邻点和其邻接,而8邻接则认为其8个自然邻点都是邻接的。按4邻接定义由4个邻点组成的邻域称为4邻域,按8邻接定义由8个邻点组成的邻域称为8邻域。若两个像点是4邻接的,则称它们为4连通;若是8连接的,则称它们为8连通。x(n1-1,n2)x(n1,nx(n1,nx(n1,n2-1)2)2+1)x(n1+1,n2)7\n视频图像中运动物体的检测表2-1图像4邻接示意图x(n1-1,x(n1-1,x(n1-1,n2n2-1)n2)+1)x(n1,n2x(n1,n2x(n1,n2+1-1)))x(n1+1,x(n1+1,x(n1+1,n2n2-1)n2)+1)表2-2图像8邻接示意图由于连通定义不同,同样的一幅数字图像,可能有不同的理解。例如,下图是一幅二值图,若按4连通定义,由1所表示的目标是4个不连通的直线段,若按4连通定义,则是一闭合环。0000000011000100100100100011000000002.2边缘检测边缘检测是图像处理中一个基本的方法,是进行模式识别和图像信息提取的基本手段。图像边缘对图像识别和计算机分析十分有用。边缘能勾划出目标物体,是观察者一目了然;边缘蕴含了丰富的内在信息(如方向,阶跃性质,形状等),是图像识别中重要的图像特征之一。从本质上说,图像边缘是图像局部特征不连续性(灰度突变,颜色突变,纹理结构突变等)的反映,它标志着一个区域的终结和另一个区域的开始。边缘提取首先检测出图像局部特性的不连续性,然后再将这些不连续的边缘像素连成完备的边界。边缘的特性是沿边缘走向的像素变化平缓,而垂直于边缘方向的像素变化剧烈。所以,从这个意义上说,提取边缘的算法就是检测出符合边缘特性的边缘像素的数学算子。边缘是灰度值不连续的结果,这种不连续性通常可以利用求导数的方法方便的检测到。一般常用一阶导数和二阶导数来检测边缘。边缘检测的基本思想是首先利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置门限的方法提取边缘点集。8\n视频图像中运动物体的检测常用的边缘检测算子有Robert算子,Sobel算子,Prewitt算子,LOG算子,Canny算子。下面简单介绍一下它们的模板。2.2.1Robert算子Robert算子是一种利用局部差分算子寻找边缘的算子,其模板如下图所示。Robert算子对具有陡峭的低噪声的图像的效果好。Robert算子10010-1-10表2-3Robert算子的模板2.2.2Sobel算子Sobel算子是一种一阶微分算子。它利用像素邻近区域的梯度值来计算一个像素的梯度,然后根据一定的阈值来取舍,得到图像中的边缘。Sobel算子的两个卷积计算核如下图所示,图像中的每个点都用这两个核做卷积,第一个核对垂直边缘响应最大,第二个核对水平边缘响应最大。两个卷积的最大值作为该点的输出值,运算结果是一幅边缘幅度图像。Sobel算子对灰度渐变和噪声较多的图像处理得较好。12100010-1-20-2-2-1110-1表2-4Sobel算子的模板2.2.3Prewitt算子Prewitt算子的两个卷积核如下图所示。与使用Sobel算子的方法一样,图像中的每个点都用这两个核做卷积,取最大值作为输出。Prewitt算子也产生一幅边缘幅度图像,也是对灰度渐变和噪声较多的图像处理得较好。9\n视频图像中运动物体的检测10-111110-100010-1-1-1-1表2-5Prewitt算子的模板2.2.4LOG算子拉普拉斯算子的卷积如下图所示,它是一个二阶算子,通过寻找图像的灰度值的二阶微分中的零交叉(ZeroCrossing)来检测边缘点,将在边缘处产生一个陡峭的零交叉。拉普拉斯算子是一个线性的,时不变的算子,它的传递函数在频域空间的原点是零,因此经过拉普拉斯滤波过的图像具有零平均灰度。LOG算子先用高斯低通滤波器将图像进行预先平滑,然后用拉普拉斯算子找出图像中的陡峭边缘,然后用零灰度值进行二值化产生闭合的,连通的轮廓,消除了所有内部点。0-10-10-1-1-1-1-14-1040-18-10-10-10-1-1-1-1表2-6拉普拉斯算子的模板2.2.5canny算子Canny边缘检测法是高斯函数的一阶微分,它能在噪声抑制和边缘检测之间取得较好的平衡。算法如下:(1)高斯滤波器来对图像滤波,以去除图像中的噪声;(2)对每个像素,计算其梯度的大小M和方向O。为此要使以下2×2大小的模板作为对x和y方向偏微分的一阶近似:111111pq211211由此得到梯度的大小M和方向O:qMsqrtppqqOarctanp(3)对梯度进行“非极大抑制”:梯度的方向可以被定义为属于4个区之一,各个区有不同的邻近像素用来进行10\n视频图像中运动物体的检测比较,以决定局部极大值。这4个区及其相应的比较方向如下图所示:3210x0123例如,如果中心像素x的梯度方向属于第3区,则把x的梯度值与它的左上和右下相邻像素的梯度值比较,看x的梯度值是否是局部极大值。如果不是,就把像素x的灰度设为0。这个过程叫作“非极大抑制”。(4)对梯度取两次阈值:用两个阈值T1和T2,T2=2*T1。我们把梯度值小于T1的像素的灰度设为0,得到图像1。然后我们把梯度值小于T2的像素的灰度设为0,得到图像2。由于图像2的阈值较高,噪音较少,但同时也损失了有用的边缘信息。而图像1的阈值较低,保留了较多信息。因此我们可以以图像2为基础,以图像1为补充来连接图像的边缘。(5)边缘连接a.扫描图像2,当我们遇到一个非零灰度的像素P时,跟踪以P为开始点的轮廓线,直到该轮廓线的终点Q。b.在图像1中,考察与图像2中Q点位置对应的点Q‘的8-邻近区域。如果在Q’点的8-邻近区域中有非零像素R‘存在,则将其包括到图像2中,作为点R。从R开始,重复第(a)步,直到我们在图像1和图像2中都无法继续为止。c.我们已经结束了对包含P的轮廓线的连接,将这条轮廓标记为已访问过。回到第(a)步,寻找下一条轮廓线。重复第(a),(b),(c)步直到图像2中再也找不到新轮廓线为止。因为本文的边缘检测所用所选用的边缘算子是canny算子,所以下面重点介绍一下canny算子:(a)引言边缘提取对于图像理解、分析和图像识别来说,是一个基性的课题,它是图像分割、视觉匹配等的基础,因此成为了图分析和识别领域中的一个十分令人关注的课题。Marr和Hildreth首先引入了边缘检测的理论并用LOG算子的零交叉来确定图像的边缘。Haralick利用二阶方向导数的零交叉点确定图像的边缘。Canny提出了边缘检测的三个标准,并用三个标准提出了次最优的高斯函数的一阶导数边缘检11\n视频图像中运动物体的检测测算。Clark和Ulupinar以及Medioni分别独立地提出了各自的法,它可以去除Gauss-Laplacian算子所得到的虚假边缘,进得到更准确的边缘。Berghlom引进了一种边缘聚焦和追踪法的思想,能够由粗到细地追踪得到理想的边缘。GoshtashyandShyu采用了曲线拟合的方法来检测边缘。近年来也出现几种新方法,其中以ElderandZucker的多尺度边缘提取法、Li的自适应去除模糊图像中噪音细节方法为主要代表。要了解更详细的边缘检测算法及其优劣比较,可以参考Heath在众多的边缘检测算法中,Canny算法得到了广泛的运用,这主要是因为它提出了迄今为止定义最为严格的边缘检测的三个标准,另外就是其相对简单的算法使得整个过程可以在较短的时间内实现。(b)Canny的边缘检测原理Canny:从边缘检测算子应满足如下3个判断准则出发,推导出了最佳边缘检测算子。(c)高信噪比好的信噪比准则即将非边缘点判为边缘点的概率要低,将边缘点判为非边缘点的概率要低。信噪比的数学表达式:ExfxdxSNR(2-10)2nfxdx0其中,f(x)是边界为[-w,+w]的滤波器脉冲响应,E(x)代表边缘,n0是高斯噪声的均方根。若信噪比大,则边缘提取质量好。(d)良好的定位性能良好的定位性能是指检测出的边缘点要尽可能在实际边缘的中心。定位性能的数学表达式为:''ExfxdxLocation(2-11)2'nfxdx0其中,E'(-x)和f'(x)分别表示E(x)和f(x)的一阶导数。如果满足此准则,那么边缘定位精度就高。求取(10)和(11)式的乘积的最大值,是设计最佳算子的基础。除此以外,还应满足多重响应约束条件。(e)单边响应准则单边响应谁则,即单个边缘产生的多个响应的概率要低,并且虚假的边缘响应应得到最大抑制。这要求在f对噪声的响应中,两个相邻最大值间的距离为'xf,f的零交叉点平均距离为xf。两者间的关系是:maxzcxf2xfaW其中,a<1的常数,而maxzc12\n视频图像中运动物体的检测2'2fxdxxf(2-12)zc''fxdx若满足此准则,就能保证单边缘只有一个响应。最后,canny用泛函求导方法推导出高斯函数的一阶导数,此即为该最佳函数的最好近似,且有简便的计算方法。2.3基于阈值的图像分割阈值处理是一种区域分割技术,它对物体与背景有较强对比景物的分割特别有用。它计算简单,而且总能用封闭而且连通的边界定义不交叠的区域。当使用阈值规则进行图像分割时,所有灰度值大于或等于某阈值的像素都被判属于物体。所有灰度值小于该阈值的像素都被排除在物体之外。于是,边界就成为这样一些内部点的集合,这些点都至少有一个邻点不属于该物体。如果感兴趣的物体在其内部具有均匀一致的灰度值并分布在一个具有另一个灰度值的均匀背景上,使用阈值方法就很好。如果物体同背景的差别在于某些性质而不是灰度值(如纹理等),那么,可以首先把那个性质转化为灰度,然后,利用灰度阈值化技术分割待处理图像。除非图像中物体有陡峭的边沿,否则灰度阈值的取值对所抽取物体的边界的定位和整体的尺寸有很大的影响。这意味着后续的尺寸(特别是面积)的测量对于灰度阈值的选择很敏感。由于这个原因,我们需要一个最佳的,或至少是具有一致性的方法确定阈值。一幅含有一个与背景明显对比的物体的图像具有包含双峰的灰度直方图。两个尖峰对应与物体内部和外部较多数目的点。双峰间的谷对应于物体边缘附近相对较少数目的点。在类似这样的情况下,通常使用直方图来确定灰度阈值的值。利用灰度阈值T对物体面积进行计算的定义是:AH(D)dD(2-13)T显然,如果阈值对应于直方图的谷,阈值从T增加到T+△T只会引起面积略微减少。应此把阈值设在直方图的谷,可以把阈值选择中的小错误对面积测量的影响降到最低。如果图像或包含物体图像的区域面积不大而且有噪声,那么,直方图本身就会有噪声。除了在凹谷特别尖锐的情况外,噪声会使谷的定位难以辨认,或至少是通过不同幅图像得到的结果不稳定可靠。这个问题在一定程度上可以通过用卷积或曲线拟合过程对直方图进行平滑加以克服。如果两峰不一样大,那么,平滑化可能会13\n视频图像中运动物体的检测导致最小值的位置相对移动。但是,在平滑程度适当情况下,峰值还是容易定位并且也是相对稳定的。一种更可靠的方法是把阈值设在相对于两峰的某个固定位置,如中间位置上,这两个峰分别代表物体内部和外部点典型(出现最频繁)的灰度值,即直方图的谷的谷的估计更可靠。可以构造一个只包含具有较大的梯度幅值的像素的直方图,例如取最高的10%。这种方法排除了大量的内部和外部的像素,而且可能会使直方图的谷点更容易检测到。还可以用各灰度级像素的平均梯度值除直方图来增强凹谷,或利用高梯度像素的灰度平均值来确定阈值。自适应阈值自适应分割技术可用二次处理技术实现。在第一次处理前,先将图像划分成100*100的像素块。根据各个块的灰度直方图,阈值被确定为背景峰值与数据峰值的中点。直方图是单峰的块则不予考虑。在第一次处理中,物体的边界在每块中用各自固定的阈值确定,但各块间阈值并不相同。而如此做的目的并不是要把这样定义的物体从图像中抽取出来,而是计算每个物体内部的平均灰度值。在第二次处理中,每个物体使用各自的阈值,该值由内部灰度值和它的主块的背景灰度值的中间值定义。14\n视频图像中运动物体的检测2.4视频图像运动目标检测算法在本文中,作者通过利用连通性,腐蚀,膨胀和阈值分割的概念建立了两种不同的算法,下面先介绍第一种算法:2.4.1基于连通性运动目标检测基于连通性运动目标检测是本文的第一种算法,它主要利用连通性和其它性质的接合来实现运动目标检测的检测。2.4.1.1算法框图本算法框图描述了该算法的整个算法流程。该程序段主要通过嵌套循环来实现,通过该程序段,可以得出所需的结果图像。15\n视频图像中运动物体的检测读入第一帧图像读入下一帧图像转化为灰度图象转化为灰度图象否否需要预处理?需要预处理?是是直方图增强直方图增强读入读入后续帧后续帧极值中值增强极值中值增强用canny算子用canny算子边缘提取边缘提取求出帧间差图像按先行后列顺序扫描差图象中每一个像素点该像素点值是否否为1是把该值赋为1000作为标记扫描该像素点的8个邻点是否否有像素值为1的点是把该点的像素值赋1000把连接长度加1否连接长度是否大于25是把该条线上像素值为把该条线上像素值为1000的点赋为01000的点重新赋为1与原图进行比较得出结果图象是是否还有后续图是像?否结束图6基于连通性运动目标检测算法框图16\n视频图像中运动物体的检测2.4.1.2算法描述(1)图像预处理:本文先把连续的两帧彩色jpg图像转化为灰度图像,再跟据图像的实际情况决定是否进行直方图增强和极值中值增强的预处理,然后通过canny算子分别对这两帧灰度图像做边缘提取,再将边缘提取后得到的二值图像相减,得到这两帧灰度图像的差图像。(2)运动目标检测本文先把连续的两帧彩色jpg图像转化为灰度图像,通过canny算子分别对这两帧灰度图像做边缘提取,再将边缘提取后得到的二值图像相减,得到这两帧灰度图像的差图像。通过对此二值差图像的观察,构思了一个算法:在该二值图像中,除了在运动目标——小车的区域内,像素点的连通长度一般都超过30个连通点,而在背景部分区域内,像素点的连通长度一般都不超过15个连通点。于是,我就有了这个构思,可以用一个嵌套循环,对这幅二值图像中每一个像素点进行扫描。每扫描到一个像素点时,首先看这个像素点的值是否为1,如果不为1的话,接着扫描下一个像素点;如果为1的话,先把这个像素点的值赋为1000,再通过一个嵌套循环观测该像素点的8个自然邻点。如果在那8个自然邻点中没有像素值为1的点的话,就结束该次循环,接着检测下一个像素点;如果在这8个自然邻点有某些点的像素值为1,则把这些点的像素值赋为1000,并把连接长度加1,再对它的相邻像素点进行如此操作。然后通过连接长度进行判断,若连接长度小于25的,则可认为是背景中的点,则把这一串像素点的值由1000改回为0;若连接长度大于25的,则可认为是运动物体——小车中的点,则把这一串像素点的值由1000改回为1。再与原图比较,则可得出检测出运动目标的图像。通过这一系列操作后,理想中的处理结果应该能得到的结果图像是一幅只有小车边缘的二值图像;但由于可能在该算法中考虑的因素有欠缺,而且,可能考虑的因素不全,导致在运行该循环中,无法自动完成,即无法自动结束循环,该算法还在检查调整之中。17\n视频图像中运动物体的检测2.4.2基于帧间差阈值法的运动目标检测由于算法一做的并不成功,再加上对该算法的思考还不成熟和完善,所以我就考虑在算法上有所改进。在仔细观察帧差图像的特征,以及对其在matlab中的矩阵的数值的观察和思考后,我又想到用一种新的算法来解决运动目标的检测问题,即通过边缘检测(canny算子),阈值分割和膨胀,腐蚀相结合的方法来检测运动物体。2.4.2.1算法框图本算法框图描述了该算法的整个算法流程。它是在一个顺序执行的循环执行的程序段,通过该程序段,可以得出所需的结果图像。18\n视频图像中运动物体的检测读入第一帧图像读入下一帧图像转化为灰度图象转化为灰度图象否否需要预处理?需要预处理?是是直方图增强直方图增强读入读入后续帧后续帧极值中值增强极值中值增强求出帧间差图像用阈值进行图像分割用canny算子边缘提取进行多次膨胀处理进行多次腐蚀处理(与上面膨胀次数相同)与原图进行比较得出结果图象是是是否还有后续图像?否结束,输出结果图像图7基于帧间差阈值法的运动目标检测框图19\n视频图像中运动物体的检测2.4.2.2算法描述本算法主要运用了边缘检测,阈值分割,腐蚀和膨胀等知识点。(1)读入连续两帧场景图像序列运动目标的检测一般都以静态的摄像机捕获的场景图像序列作为研究对象,以一定的时间间隔提取场景图像序列中的两帧图像进行分析。(2)图像预处理首先,取出相邻两帧图像,因为是彩色jpg图像,需要先转化成灰度图像。再观察图像的性质,根据图像不同的状态,按照需求有选择的对这些图像进行直方图增强,极值中值法滤去噪声等图像预处理。(3)求出帧间差图像预处理之后,直接将这两帧处理后的灰度图像相减,求出它们的帧差图像。(4)边缘提取首先对帧间差图像观察,发现该图像边缘比较复杂且噪声较多。因为canny算子边缘检测法利用高斯函数的一阶微分,它能在噪声抑制和边缘检测之间取得较好的平衡,且具有很好的边缘检测性能,所以,在本文中,选用canny算子对这幅帧间差图像进行边缘提取。为了在下一步更好地进行处理,对边缘提取后得到的二值图像取其绝对值。(5)阈值分割得到这幅帧差二值图像后,仔细观察这幅图像的表现性质,发现下列有趣的现象:该二值图像中,运动目标附近的区域内,线条比较密集,连通性较好;而在背景区域内,大多是一些杂乱无章的线段。我又观察了在该图像的直方图,发现它的直方图是一个包含双峰的灰度直方图,这就意味着这是一幅与背景有明显对比的物体的图像,在类似这样的情况下,可以用选择最佳阈值进行图像分割的方法。两个尖峰对应与物体内部和外部较多数目的点,双峰间的谷对应于物体边缘附近相对较少数目的点,选择阈值的方法一般是选择设在直方图的谷。这样我就选定了我所需的阈值。再进行阈值分割:通过循环检测每一个像素值,小于等于阈值的点的像素值把它赋为0,大于阈值的点保持其像素值不变。这样,经过该次处理后,在此二值差图像上就只剩下运动物体的框架了,下一步就只需要把这些运动物体的框架转化成运动目标的图像就完成操作了。(6)膨胀与腐蚀对消除噪声后的二值图像进行观察,发现该二值图像中运动目标部分基本是连通的,也就是说在该运动物体的外围基本上是被连通的线段围起来的,只是在运动物体的内部,线段才杂乱无章。于是作者想到可以用数学形态学的方法来得到运动物体的区域:先通过多次膨胀处理,使得在该小车内部区域完全连通,再进行与刚20\n视频图像中运动物体的检测才膨胀次数相同次数的腐蚀处理,这样得到的结果图像就是一个完全连通的区域,而且正好是运动物体所在区域。(7)得出结果图像最后,对所得到的图像与原图进行比较,在得到的图像中像素值为0的点,在原图中对应位置的点的像素的值也赋为0;在得到的图像中像素值为1的点,在原图中对应位置的点的像素的值不变。这样就得到了只包含运动物体的图像,其背景为黑色。(8)后续工作是否有后续图像,如果有的话,重复上述过程,得出结果。21\n视频图像中运动物体的检测第三章仿真实验在通过上述算法描述后,下面来看一下试验结果:实验图像的来源:采集自合肥市黄山路,录像剪辑为25帧每秒。实验平台:cpu:pentium2.4MHz。软件版本:matlab6.5.1。3.1单运动目标检测在上述四帧图像,上面两帧图像是求帧间差的前帧和后帧图像,下面两帧图像是得出目标图像分别与前帧后帧图像比较得出的不同结果(后面的试验图像也是同样的排版方式,就不再一一说明)。在该次比较中,可以看出,与原图比较,运动目标已经被检测出来。观测下面两帧结果图像,与前帧比较得出的结果图像中,运动目标前部有少量的空白区域;而后帧比较得出的结果图像中,运动目标后部有少量的空白区域。这就帧间差阈值法检测的一个缺陷,虽然可以较完整的检测出运动目标,但是由于中间步骤是对两帧图像的差图像进行处理,所以无论与前帧比较或与后帧比较,都会有一定的误差区域,这是该算法自身无法避免,但是该算法所需硬件简单,容易实现,能满足实时检测的需要,即较快的得出需检测的运动目标。22\n视频图像中运动物体的检测这四帧图像与上面的图像有近似相同的性质,得出的结果基本完整,但在右上角有少许凹陷,这是由于该车右上方玻璃有强烈的反光作用,所以影响到了帧间差图像的检测效果,以至于有一小块凹陷,但在总体上并不影响检测的效果。23\n视频图像中运动物体的检测这一组图像显示的小运动目标的检测,从图中可以看出,检测的结果良好,能完整的检测出较小的运动目标。24\n视频图像中运动物体的检测在这一系列图像中,所检测的运动目标均是较大的物体,即所占图像比例较大,形状较不规则的物体。从结果图像中可以看出,该算法可以完全的检测出运动目标,但是也存在着一定问题。首先,由于运动目标较大,形状不规则,导致检测出来的物体的边缘不能严格按照运动目标的形状,而是保留了些许小的空白区域,这在后续工作中需要改进,即能严格按照运动目标的形状检测出运动目标;其次,存在阴影问题,因为阴影总是随着运动目标的运动而运动,因而在本算法中,无法自动把阴影去除,这也是以后需要解决的问题。25\n视频图像中运动物体的检测3.2多运动目标检测在这连续四帧多运动目标检测中,可以看出,与原图比较,运动目标已经被检测出来。与前面单运动目标检测相比,多运动目标检测的效果与其基本相似,可以完整的检测出运动目标;同时,存在的问题也相似,就是由于中间步骤是对两帧图像的差图像进行处理,所以无论与前帧比较或与后帧比较,都会有一定的误差区域,但由于实现简单,可以满足实时检测的需要,硬件上也容易实现。26\n视频图像中运动物体的检测从这一系列图像及与其结果图像比较,多运动目标已基本被检测出来,但是还存在一定问题,就是背景去除的问题,这在以后的工作中需要解决。27\n视频图像中运动物体的检测从这几帧结果图像的比较,可以看出,运动目标基本都可检测出,包括上图中小的摩托车被检测出来了,下图中密集的车辆也被检测出来了,但除了存在要去除车的阴影部分以外,还存在一个问题,就是若车离得较近的话,两车之间的路面没有被隔离开,这是由于算法的局限性造成的。因为在从得出运动目标的框架到得出运动目标的区域的过程中,本文所使用的方法是通过多次对应的膨胀与腐蚀以达到运动目标区域内部的完全连同,但如果两个运动目标的距离足够近的话,在膨胀的过程中,它们已连成一个整体,所以在腐蚀的过程中也无法把这两个物体分开,这也是在以后工作中需要改进的。28\n视频图像中运动物体的检测第四章结束语本文主要介绍了视频图像中运动目标的检测。分析了它的基本原理和我的实现方案,并通过对比试验检验了检测的效果。纵观全文,本论文主要完成了以下工作:(Ⅰ)介绍边缘检测的基本概念,主要是边缘检测算子的处理。比较了传统边缘提取算法如Robert算子,Sobel算子,Prewitt算子,LOG算子,Canny算子,分析了它们的模板和性能,并特别着重地介绍了Canny算子。(Ⅱ)介绍了数学形态学和模式识别,特别详细介绍了膨胀,腐蚀,连通性和阈值分割的概念和算法。用matlab语言实现了膨胀和腐蚀。(Ⅲ)用算法进行试验:实现本文所描述的算法,做出对比试实验,再对实验结果进行分析。图像处理的方法很多,本论文只是利用边缘检测,数学形态学和模式识别进行了一些简单的视频图像中运动目标的检测,还有许多需要扩展改进的地方。同时,检测运动目标的方法也很多,数学形态学只是一种比较常用的方法。由于数字图像处理的针对性很强,本文中提到的方法有很大局限性:(Ⅰ)在单目标运动图像中,还需要解决去除运动目标的阴影问题。(Ⅱ)在多运动目标图像中,除了要去除解决阴影问题外,还需解决运动目标粘联问题。(Ⅲ)在后续问题中,还可求出运动目标的运动方向和运动速度问题。随着计算机等其他技术的发展,图像处理技术也会有极大发展,在当前图像处理中遇到的一些问题也会迎刃而解。29\n视频图像中运动物体的检测参考文献[1]Castleman著:DigitalImageProcessing.Beijing:PubLishingHouseofElectronicsIndustry2002。[2]飞思科技产品研发中心编著:MATLAB6.5辅助图像处理.北京:电子工业出版社,2003。[3]王耀南,李树涛,毛建旭编著:计算机图像处理与识别技术[J].北京:高等教育出版社,2001。[4]张兆礼,赵春晖,梅晓丹著:现代图像处理技术及Matlab实现.北京:人民邮电出版社,2001[5]崔屹编著:图像处理与分析——数学形态学方法与应用.北京:科学出版社,2000。[6][美]D.Hanselman,B.Littlefield著:精通Matlab6张航,黄攀译.北京:清华大学出版社,2002。[7]闻新,周露,张鸿编著:Matlab科学图形构建基础与应用(6.x).北京:科学出版社,2002。[8]谈新权,李伯岳,郑华菲,余道铭:大背景噪声下动目标实时检测方法研究,华中理工大学学报:Vol.25No.10,1997。[9]贾振堂,贺贵明,韩艳芳:运动视频对象分割的一种快速算法,中国图形图象学报:7(11),1123-1127,2002。[10]李真芳,保峥,王彤,廖桂生:基于实测数据的地面慢速动目标检测,电子学报:31(9),1437-1440,2003。[11]王栓,艾海舟,何克忠:基于差分图象的多运动目标的检测与跟踪,中国图象图形学报:Vol.4(A),No.6,1999。[12]张辉,王强,徐光佑,朱志刚:运动目标的快速检测、跟踪和判别,清华大学学报(自然科学版):Vol.42,No.10,1401-1404,,2002。[13]张文杰,戚飞虎,江卓军:实时视频监控系统中运动目标检测和跟踪的一种实用方法,上海交通大学学报:Vol.36,No.12,2002。30\n视频图像中运动物体的检测附录源程序本文中涉及的算法都是用Matlab实现的,现将设计的程序列出,如下:1.%算法一I=imread('00736.jpg');%imshow(I);I1=rgb2gray(I);%figure,imshow(I1);[m,n]=size(I1);BW1=edge(I1,'canny');%figure,imshow(BW1);J=imread('00738.jpg');%figure,imshow(J);J1=rgb2gray(J);%figure,imshow(J1);BW2=edge(J1,'canny');%figure,imshow(BW2);M=double(BW1)-double(BW2);M=abs(M);%figure,imshow(M);k=2;fori=1:288forj=1:384Length=0;ifM(i,j)==1;M(i,j)=1000;a=1;y=-1;while(Length>y)%检测连接线的长度fori1=i-a:i+a31\n视频图像中运动物体的检测forj1=j-a:j+aif(i1+j1)>0;elseifM(i1,j1)==1;forn1=i1-1:i1+1forn2=j1-1:j1+1ifM(n1,n2)==1000;M(i1,j1)=1000;Length=Length+1;y=y+1;elsey=y+1;endendendendendendenda=a+1;aendendifLength>20%标记这一条线为k+1k=k+1;elseform1=1:288form2=1:384ifM(m1,m2)==1000M(m1,m2);endendend%认为是噪声,这条线全部标为零endendend32\n视频图像中运动物体的检测figure,imshow(M);imwrite(M,'fwg.jpg');T=imread('fwg.jpg');figure,imshow(T);2.算法二%主程序I=imread('00700.jpg');%读入第一幅图像,并转化为灰度图像%imshow(I);I1=rgb2gray(I);%figure,imshow(I1);J=imread('00702.jpg');%读入第二幅图像,并转化为灰度图像%figure,imshow(J);J1=rgb2gray(J);%figure,imshow(J1);ans=(uint8(abs(double(I1)-double(J1))));%求出两帧图像之差,并利用canny算子对其边缘提取I_canny=canny_edge(ans,3);%figure,imshow(I_canny);%利用阈值的区别来消除差图像中的噪声点fori=1:288forj=1:384ifans(i,j)<45ans(i,j)=0;endendendI_canny=edge(ans,'canny');%figure,imshow(I_canny);SE=[1,1,1;1,1,1;1,1,1];33\n视频图像中运动物体的检测%利用膨胀原理使小车内部连通I2=dilate(I_canny,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);I2=dilate(I2,SE);%figure,imshow(I2);I2=erode(I2,SE);%利用腐蚀原理得到小车的区域I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);I2=erode(I2,SE);%figure,imshow(I2);%与原图相比得出小车的图像34\n视频图像中运动物体的检测fori=1:288forj=1:384ifI2(i,j)==0I1(i,j)=0;endendend%figure,imshow(I);imwrite(I,'x10.jpg');%存储小车的图像I3=imread('x10.jpg');figure,imshow(I3);3.%膨胀functiony=MyDilate(I)[m,n]=size(I);J=zeros(m,n);fori=2:m-1forj=2:n-1ifI(i,j)==1;J(i,j)=1;J(i,j-1)=1;J(i,j+1)=1;J(i-1,j)=1;J(i-1,j-1)=1;J(i-1,j+1)=1;J(i+1,j-1)=1;J(i+1,j+1)=1;J(i+1,j)=1;endendendy=J;4.%腐蚀35\n视频图像中运动物体的检测functiony=MyErode(I)[m,n]=size(I);J=zeros(m,n);fori=2:m-1forj=2:n-1ifI(i,j)+I(i,j-1)+I(i,j+1)+I(i-1,j)+I(i-1,j-1)+I(i-1,j+1)+I(i+1,j-1)+I(i+1,j+1)+I(i+1,j)==9;J(i,j-1)=0;J(i,j+1)=0;J(i-1,j)=0;J(i-1,j-1)=0;J(i-1,j+1)=0;J(i+1,j-1)=0;J(i+1,j+1)=0;J(i+1,j)=0;endendendy=J;36\n视频图像中运动物体的检测致谢在合肥工业大学的四年大学生活马上就要结束了,在准备这篇毕业论文的过程中才发现自己无法直面这四年的大学时光。这里我要感谢合肥工业大学的各位老师对我的培养,感谢高隽教授和邵静对于我毕业设计的悉心指导,感谢图像处理实验室的各位师兄,师姐对我不厌其烦的帮助。对我远在家乡的父母,“感谢”二字似乎不能足以表达我对他们的支持和关心的感激。在此,我只想说,没有他们的支持就没有今天的我。还有很多人在学习和生活上给我提供了很多帮助,在此我一并表示感谢。最后,祝尊敬的高隽教授工作顺利,万事如意。祝各位师兄、师姐学业有成!!冯文刚2004.6.1037

相关文档