胡永洲毕业论文视频的背景统计建模与前景分割_第1页
胡永洲毕业论文视频的背景统计建模与前景分割_第2页
胡永洲毕业论文视频的背景统计建模与前景分割_第3页
胡永洲毕业论文视频的背景统计建模与前景分割_第4页
胡永洲毕业论文视频的背景统计建模与前景分割_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I视频的背景统计建模与前景分割摘要计算机自动监控的作用在工业中非常重要。计算机视觉在各个领域的应用也越来越广泛。视频监控中背景的统计建模及运动目标检测属于自动监控与计算机视觉技术的一部分,而且是基础部分。背景的统计建模与前景检测的能力直接决定了后续处理的效果。本文首先分析了背景建模的本质特征,分析了各种统计建模与前景分割方法,指出了各种前景分割算法的优劣。然后提出了一种简单的快速算法。这种算法直接易用,更新简单,先用背景的像素灰度值建立广义高斯模型,每再输入一帧,更新背景模型一次。本设计的实现语言是C。关键词背景建模;广义高斯;CIIBACKGROUNDMODELINGANDFOREGROUNDSEGMENTINVIDEOABSTRACTCOMPUTERBECOMESIMPORTANTINAUTOMATICMONITORININDUSTRYCOMPUTERVISIONISUSEDINALLSORTSOFFIELDSMOREANDMOREBACKGROUNDMODELINGANDFOREGROUNDSEGMENTINVIDEOINMONITORAREONEPARTOFAUTOMATICMONITORANDCOMPUTERVISIONTECHNOLOGYWHATSMORE,THEYARETHEBASICPARTSTHEIRCAPABILITYDECIDESTHEEFFECTOFFOLLOWINGDEALDIRECTLYINTHISTHESIS,FIRSTLY,ESSENTIALCHARACTERCHARACTERISTICISANALYZEDAFTERTHAT,WRITERANALYZESSOMEMETHODSINSTATISTICMODELINGANDFOREGROUNDSEGMENTATTHESAMETIME,THEADVANTAGESANDDISADVANTAGESAREENUMERATEDBASICONTHAT,ASIMPLEANDFASTARITHMETICISINVENTEDTHISARITHMETICISEASYTOUSEANDUPDATEFIRSTLY,WEMAKETHEGENERALGAUSSIANBACKGROUNDMODELINGWITHTHELUMINANCECOMPONENTOFPIXELSASSOONASINPUTTINGONENEWFRAME,WEUPDATETHEBACKGROUNDMODELINGIIMPLEMENTTHISARITHMETICWITHCLANGUAGEKEYWORDSBACKGROUNDMODELINGGENERALGAUSSIANCIII目录1绪论111计算机视觉简介1111图象处理1112模式识别(图像识别)1113图像理解(景物分析)112视频前后背景的分割的作用与意义1121在图像处理中的应用1122在智能监控中的应用2123在医学上的应用213前后背景分割的技术现状214C3141C的特点与优点3142C的设计原则315前后背景分离的后续处理4151人体运动分析4152工业智能监控4153目标的跟踪42复杂背景下前景分割算法的研究进展521算法的分类5211基于光流场的方法5212基于红外分割的方法5213基于颜色的分割方法5214基于帧间差分的方法6215基于背景差的方法622典型的前景分割算法及应用6221广义高斯建模77222混合高斯建模88223PFINDER系统993本文的高斯模型算法1131本文算法的根源1132一些概率统计的数学基础123212分布12322T分布1333参数估计15331区间估计15322点估计1734估计量的评选标准1935点估计在本文的具体做法2036本算法估计高斯参数20361初始高斯建模20362参数更新214C程序部分24IV41OPENCV的介绍1224411OPENCV的安装132442程序流程图30421子函数VEDIO_ARR从AVI文件到像素灰度值数组31422子函数一个坐标的所有帧的像素点的前后背景判断32423MAIN函数3643对设计结果的分析38参考文献3911绪论11计算机视觉简介计算机视觉计算机视觉就是将机算机变成人的眼睛和大脑,能自动的看到事物以及辨别事物。计算机视觉主要可以分为三个方面111图象处理图象处理技术把输入图像转换成具有所预期特性的另一幅图像。例如,可通过处理使输出图像有较高的信噪比,或通过增强处理突出图像的细节,以便于操作员的检验。在计算机视觉研究中经常利用图像处理技术进行预处理和特征抽取。112模式识别(图像识别)模式识别技术根据从图像抽取的统计特性或结构信息,把图像分成预定的类别。例如,文字识别或指纹识别。在计算机视觉中模式识别技术经常用于对图像中的某些部分,例如分割区域的识别和分类。113图像理解(景物分析)给定一幅图像,图像理解程序不仅描述图像本身,而且描述和解释图像所代表的景物,以便对图像代表的内容做出决定。在人工智能视觉研究的初期经常使用景物分析这个术语,以强调二维图像与三维景物之间的区别。图像理解除了需要复杂的图象处理以外还需要具有关于景物成像的物理规律的知识以及与景物内容有关的知识。12视频前后背景的分割的作用与意义121在图像处理中的应用视频的前后背景分割,把一个视频的前景与背景分离,这样就有利于对前景或背景的单独处理。先是背景的识别,前后背景分离后,我们可以对所得背景进行各种处理,如背景的光线加强,背景的识别。经过背景处理后,我们可以再把前景加上去,这样我们就完2成的背景的单独处理了。同样,前后背景分离后,我们也可以单独处理前景后再把前景加回去。122在智能监控中的应用我们可以对前景进行检测与监控,特别是对运动物体的检测与监控。在现代监控技术中的智能监控系统中,智能监控系统能在实际环境中对人和车辆等运动目标进行实时的观察,并给出它们行为和动作的描述,这种机器视觉系统通常包括了运动目标的检测,运动目标跟踪,目标分类以及行为理解等方面。但背景建模与前后背景分离技术是这些检测技术的前提技术,特别是背景建模,直接影响了计算机的图象处理能力。所以计算机对视频文件的前后背景的建模与分离的能力直接影响了计算机系统的视觉能力与智能监控能力。123在医学上的应用视频前后背景建模还能促进医学技术的发展,特别是医学上的检测技术。对于人体内部的病变,若不需要动手术便能检测,那对于病人对于医生都是莫大的作用。通过内窥摄像头,把人体内部需要检测的部分拍摄下来,再通过前后背景分割技术,把病变部分找出来,或找到病因。现在,这一技术还没能在医学界使用,是因为医学检测精度要求非常高,比普通的智能检测技术要求高得多,而且人体内部环境复杂,处理难度大。医学检测,这个前后背景技术使用的一个方向,而且是高难度的方向。13前后背景分割的技术现状若背景简单,处理也容易,但不现实,也不实用,因为现实中的背景总是复杂多变的。本文只讨论复杂背景下的前景分割。复杂的背景,如光线的变化,摄像机的振动等等,增加了前景分割的难度,但却是计算机视频处理的必须克服的难点。AELGAMMAL在文献2中将上述复杂场景中的各种干扰因素作了个较好的分类,将其分为两大类1)光照条件变化1光照逐渐,慢慢的变化,在户外情况下比较经常出现,主要情况是由于光照在一天中的变化引起的。2光照的突然变化,在室内情况下出现时,比较经常是由于突然开灯,关灯引起的光线突变;在室外情况下出现时,通常突变的情况是由于太阳被乌云遮住或乌云移开引起的。3阴影,物体本身的阴影,周围物体的阴影影响(如建筑物,树木等)都会影响3前景目标的检测。2)移动物体的混淆1全局图片的变化,由于摄像设备的移动而引起的视频源的移动(如户外由于风吹而引起的摄像设备抖动,或室内摄像设备的移动等)。2背景物体的移动,例如户外情况下树叶随风吹的移动,水波的变化等。复杂背景下前景目标的分割方法大体上可以分为以下几类基于光流场的方法,基于红外分割的方法,基于颜色的分割方法,基于帧间差分的方法和基于背景差的方法。但在这些方法中没有哪种方法是对任何场景都是有效的,每种方法都有它的优势,当然也存在着相应的劣势。14C141C的特点与优点C是一门通用语言,应用的面比较广,而MATLAB是一门用于特殊用途的语言,提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能3。C是一种使用非常广泛的计算机编程语言。C是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。C是C语言的一个高级版本,支持中文,界面高级,不需要启动母文件即可运行程序。142C的设计原则C的设计原则1C设计成静态类型和C同样高效且可移植的多用途程序设计语言。2C设计成直接的和广泛的支援多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。3C设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。4C设计成尽可能与C兼容,籍此提供一个从C到C的平滑过渡。5C避免平台限定或没有普遍用途的特性。6C不使用会带来额外开销的特性。7C设计成无需复杂的程序设计环境4。415前后背景分离的后续处理151人体运动分析1从体育运动的数据库中进行基于内容的图像搜索。2在舞蹈,运动等训练中,用视觉的方法建立人体的几何模型,通过关节的运动分析来指导,纠正训练者的动作,可以达到非常直观的效果。3在医学步态分析中的运用。目前的医学步态分析是一个旨在提供诊断和治疗支持的研究领域。用视觉方法建立人体的几何模型我们需要先检测能标志用户动作的各个点,如手腕,人体各个关节,腿等。这就需要先分割前景目标人体,再进行识别。152工业智能监控经过视频图像的前后背景分割,把前景运动目标提取出来,然后对前景目标进行分析与检测。若是进行特定监控,还要进行预定图像的匹配。如假如在这个生产过程中,若出现某种现象,这个生产过程必须停止。则在这个生产过程中,摄像机一直拍摄,经过前后背景分离后,我们进行前景的检测。一旦出现与预先设定的前景相匹配,则停止。153目标的跟踪摄像机不停拍摄,提取前景后,对相应前景的物体进行跟踪。52复杂背景下前景分割算法的研究进展视频的前后背景分离技术经过多年的发展,已经有了不少的算法。复杂背景下的前景目标分割方法主要分为以下几种基于光流场的方法,基于红外分割的方法,基于颜色分割的方法,基于帧间差分的方法和基于背景差的方法5。21算法的分类211基于光流场的方法基于光流场的方法6,也称为连续处理方法,与上面介绍的基于特征的方法,也称为离散处理的方法不同。它并不需要对图像进行处理,抽取特征,而是直接对图像本身进行处理。这种方法通常假定相邻时刻之间的间隔是很少的(几十毫秒之内),从而相邻时刻的图像之间的差异也较小,而离散处理方法一般无需这种假定。这种方法的一个优点是,它可以求得稠密(既图像中每一象素)所对应物体的运动信息,而在离散处理方法中,仅能求的特征处的运动信息,其他部分的运动信息及根据这些特征处的信息,经过一定的插值外推来求得。光流法也分为二步1,是计算光流场,2由光流场来计算场景中物体的三维运动和结构。但光流场法本身存在一些问题,如当背景被遮挡时,由于被覆盖的背景的遗失会造成流检测的错误;另外,外部光照的变化与会造成光流场的变化造成误检测。212基于红外分割的方法基于红外的前景分割方法依赖于红外摄像设备,主要用于感知有温度的人体或人体部位,无需繁琐的算法,检测准确,但是由于其昂贵的造价和其温度感知的特点限制其现实中的应用,在计算机视觉领域的研究意义不大。本文不再陈述。213基于颜色的分割方法基于颜色的分割方法是利用图像中的色彩信息进行目标的分割。在计算机中,颜色是以颜色空间的方式来进行表示的。光在频域分布中的不同位置正好体现了各种颜色,颜色是人对光谱中可见区域段光的感知结果。根据三基色原理,自然界常见的各种颜色光都可以用相互独立的三种基本颜色混合得到,这三种基本颜色就称作三基色,由此就构成了三维彩色空间。例如,最常见的由红,绿,蓝三基色构成的RGB彩色空间。彩色空间有许多种,最常用的有RGB彩色空间,YUV彩色空间,HIS彩色空间。6214基于帧间差分的方法基于帧间差分的方法也称为时域差分法,此方法是利用帧间图像的亮度差的绝对值来分视频和图像序列的运动特性,从而确定图像序列中有无物体运动。其检测方法是基于背景象素点的灰度值和位置都不变的这一基本原则而进行的。最简单的帧间差分是先对视频相邻两帧进行绝对差分,然后将各个像素点的差分值和某一阈值函数相比较。如果大于该阈值,则存在运动;如果小于,则没有运动。帧间差分法就其阈值选择方法的不同,有不同的方法。最简单,速度快,也最容易实现的方法就是一帧图像选择一个阈值,这种方法仅适用于背景与前景的灰度有明显对比度的情况,不适用于背景与前景灰度交叉的情况,而且对摄像机和光照条件的变化非常敏感。采用上述的两帧时间差分算法存在三个问题1检测出的目标包含两帧中变化的信息,这样会存在较多的目标点,检测出来的目标比实际目标范围更大;2两帧间目标重叠的部分不容易被检测出来。3当前景物体的部分区域与背景有相同或相似的灰度值时导致运动目标的部分区域无法检测。215基于背景差的方法基于背景差的方法是目前前景目标分割中最常用的一种方法,因为它能给前景提供最完全的特征,在这点上其他方法是无法匹及的。它是利用当前图像与背景图像的差分来检测运动区域的一种技术。运用背景差法首先要根据场景情况建立一个合适的背景模型,然后基于背景模型从当前帧中提取前景,最常用的方法是利用当前图像和背景相减来获取前景。对背景差法而言,研究重点集中在两个问题上,一个是如何建立最能表示场景的背景模型;另一个是由于背景差法对场景变化反应很敏感,所以在场景发生变化时,如何保持和更新模型使检测结果仍准确是需要解决的另一个问题6。由于这不是本文的重点,本文不再陈述。22典型的前景分割算法及应用在本节中介绍的算法都是在一些典型的场景监控系统中的应用算法,而这些算法都是很具有代表性与前瞻性的算法。这些算法中包括有背景差法和帧间差法,背景模型建立的方法则有经典的单高斯模型,自适应混合高斯模型,还有基于非参数核密度函数建立的背景模型。因为本文本作都提出的算法是基于高斯模型的算法,所以只列举一些高斯模型,用这些模型与本作者的模型进行比较。7221广义高斯建模7背景建模对于像素的广义高斯分布,我们定义EXP|12PXX(21)WITH12311(22)其中是GAMMA函数,2是概率分布的方差。当2,PX是高斯分布。当1,PX是拉普拉斯分布。我们再定义一个峰度值2G,4122213NIINIINXGX(23)其中N指像素点的取样样本数,指均值。3是一个经验数值。若是0,则是估计高斯分布;若是3,则是估计拉普拉斯分布。2G称为KURTOSIS超调量,用来表示所建立的高斯模型的相似度。因为我们这个高斯模型是估算出来的,所以用2G表示这个估算的相似度。背景的提取IL表示当前帧的像素的亮度或者灰度值,BL表示经过高斯统计分布所建成的模型的背景的亮度或者灰度值,设P为像素点,令|IBBDPLPLP(24),则有1122BDPKBPBACKGROUNDKBPBDPKBPSUSPICIOUSKBPBDPFOREGROUND(212)上式所到得到的结果是令上式成立的最小的B值。上式目的是计算出B的值。所表示的意思是在根据概率P的大小所排好序的像素中,前B个像素是前景。223PFINDER系统9CRWREN和其同事建立了一个PFINDER人物跟踪系统。这个系统的效果明显。系统通过一个固定的摄像头来跟踪人的活动,只限定于检测一个人的活动。这个系统的算法的特点在于,作者不但建立了一个背景模型,而且还为检测出的前景建立了前景模型。在建立背景模型时,他们认为每一个象素点都是一个随机变量,并且该随机变量服从GAUSSIAN分布。一个GAUSSIAN分布是由一个均值和一个方差唯一决定的,这里作者用均值的线性叠加来描述背景模型,具体表达如公式11TTY(213)其中T代表每个象素点的均值,表示一个从01之间的系数,Y为当前象素值。对于前景模型,作者也把构成前景的点看作服从GAUSSIAN分布的随机变量,该前景模型由下式所示11221EXP2PR2TMOKOOK(214)其中,为均值,K为协方差矩阵。这里,前景模式是事先训练根子的,而背景模型是在系统刚开始工作时就建立的。当系统刚启动时,默认条件为摄像头监视区域中没有人的出现。系统需要一段时间T来学习背景,即计算各象素点的均值。当被确定后,背景模型就被建立了起来了,此后系统将10按照公式1来更新背景模型。从该公式可以看出,当前背景模型不但包含过去象素点的值的信息还包括当前象素值的信息,因此该模型可以应对光照条件突然变化的情况。在建立背景模型后,系统将会对每一帧新的图像和背景模型来比较,采用MAHALANOBIS距离来做判断。PFINDER系统的背景模型相对来说非常简单,在背景建模上只用到了单高斯模型。但该系统环境适应能力差,因为系统建立背景模型时要求过于严格,一旦背景发生改变背景模型必须重新初始化。以上算法都提出了背景模型的建立,也就是先建立背景模型,再进行前后背景的判断与分离。有着不同的复杂程度与适用环境。对自动监控技术提出了图像跟踪的解决办法。基于以上算法太复杂,本人提出了一个更加简单易用的算法。113本文的高斯模型算法31本文算法的根源先是提取每一点的像素灰度值AFRAMEWIDTHHIGHT,其中FRAME指的是视频中的第FRAME帧,WIDTH指的是一帧图像中的像素的横坐标,HIGHT指的是一帧图像中的像素的纵坐标。假如一个视频文件共有100帧,则在相同的坐标WIDTHHIGHT中,就一共有100个这样的点。前后背景分离的实质就是在这一百个点中,如何确定哪些是前景的点,哪些是背景的点。那么,在这一百个点中,作为前景的点与作为背景的点有什么本质不同呢本质不同的地方就是灰度值不同,就就是当前景经过该点时,灰度值变成了前景物体的灰度值。而没有前景经过该点时,该点的灰度值是背景的值。因为背景是固定的或者是缓慢变化的,所以作为背景的点的灰度值应该和原先背景的点的灰度值相同或相差很小。而前景的点则与作为背景的点的灰度值相差很大。所以,当一个坐标点的前后灰度值有突变,则判断为前景转化为背景,或背景转化为前景。这是用灰度值的绝对值来判断的。相应于灰度值的绝对值,现在图像处理更倾向于用概率密度来检测前后背景。先肯定一点作为背景的点出现在概率总要大于作为前景的点出现的概率。在这个前提下,我们用这个概率来确定哪些点是前景,哪些点是背景。那问题就转化成现在有100个点作为样本,背景的点出现的概率大,前景的点出现的概率小。如何确定这100个点哪些是前景,哪些是背景。接下来就要确定这100个点会形成哪些随机分布。本文提出的算法基于一个前提这100个点的灰度值附合高斯概率分布。当然,这100个点的灰度值也有可能附合其他概率分布。在这个高斯概率分布模型中,背景的点出现的概率大,前景的点出现的概率小。先求出这100个点所形成的高斯概率分布模型,也就是求出高斯概率分布的均值,方差2,再根据高斯概率密度函数公式求出每个点的出现的概率,再设置一个门限值,大于这个门限值则为背景的点,小于则为前景的点。这个高斯概率分布模型随着第101帧图像的输入需要更新。也就是需要更新这个高斯概率分布的均值,方差2。以下是本算法的一些步聚1建立高斯分布模型,求出均值,方差22算出每个点的对应的概率值,3设置一个门限值124比较,找出前景与背景的点。5更新高斯分布模型,更新均值,方差2。32一些概率统计的数学基础算法先根据视频前部分进行背景建模。因为一般来说,在视频的前部分,运动物体还没进入监控视频。所以在这之前建立背景模型更加准确。本人用视频的前60帧建立背景模型。本文采用文献10里面的正态总体均值与方差的区间估计的方法进行广义高斯统计建模。先解析一些概率与数理统计的基础知识。3212分布2分布设12,NXXX是来自总体0,1N的样体,则统计量22222123NXXXX31服从自由度为N的2分布,记为22N32此外,自由度是指上式右端包含的独立变量的个数。2N分布的概率密度为21221,0,2/20,NYNYEYNFY其他332分布的可加性设PXX并且21,22独立,则有2221212NN342分布的数学期望和方差若22,N则有22,2ENDN35事实上,因0,1,IXN故21IIEXDX36242312,1,2,IIIDXEXEXIN3713于是得22211NNIIIIEEXEXN38222112NNIIIIDDXDXN392分布的分位点对于给定的正数,01,313的点TN为TN分布的上分位点。由T分布上分位点的定义用HT图形的对称性可知1TNTN314T分布的上分位点可自T分布表查得,在N45时,对于常用的的值,就用正态近似TNZ315T分布有如下特征1以0为中心,左右对称的单峰分布;2T分布是一簇曲线,其形态变化与N(确切地说与自由度)大小有关。自由度越小,T分布曲线越低平;自由度越大,T分布曲线越接近标准正态分布(U分布)曲线,如图31。15图31自由度为1、5、的T分布对应于每一个自由度,就有一条T分布曲线,每条曲线都有其曲线下统计量T的分布规律,计算较复杂。因此,统计学家上根据自由度的大小与T分布曲线下面积的关系,编制了附表,T界值表,以便于查获用。33参数估计把这些像素点的灰度值作为样本,则在所得样本中,我们先要估计所建模的高斯分布的参数。总参数估计一般可分为区间估计和点估计。331区间估计1根据样本估计均值。方差2未知,设2S是2的无偏估计。设1X,2X,NX是总体(,2)的样本,X,2S分别是样本均值和样本方差,则有1XTNSN3161TN并且右边的分布1TN不依赖任何未知参数可得1622111XPTNTNSN,有NULLLIM1NPOPTIONSDIRECTORIES先设置LIB路径,选择LIBRARYFILES,在下方填入路径CPROGRAMFILESOPENCVLIB然后选择INCLUDEFILES,在下方填入路径CPROGRAMFILESOPENCVCXCOREINCLUDECPROGRAMFILESOPENCVCVINCLUDECPROGRAMFILESOPENCVCVAUXINCLUDECPROGRAMFILESOPENCVMLINCLUDECPROGRAMFILESOPENCVOTHERLIBSHIGHGUICPROGRAMFILESOPENCVOTHERLIBSCVCAMINCLUDE然后选择SOURCEFILES,在下方填入路径CPROGRAMFILESOPENCVCVSRCCPROGRAMFILESOPENCVCXCORESRCCPROGRAMFILESOPENCVCVAUXSRCCPROGRAMFILESOPENCVOTHERLIBSHIGHGUICPROGRAMFILESOPENCVOTHERLIBSCVCAMSRCWINDOWS最后点击“OK”,完成设置。项目设置每创建一个将要使用OPENCV的VCPROJECT,都需要给它指定需要的LIB。菜单PROJECTSETTINGS,然后将SETTINGFOR选为ALLCONFIGURATIONS,然后选择右边的LINK标签,29在OBJECT/LIBRARYMODULES附加上CXCORELIBCVLIBMLLIBCVAUXLIBHIGHGUILIBCVCAMLIB如果你不需要这么多LIB,你可以只添加你需要的LIB。412OPENCV的使用14要熟练地使用OPENCV则先要先阅读OPENCVCHINESEMANUAL,因为里面有对OPENCV的使用的详细介绍。以下介绍一些OPENCV的编程规则。本节是对OPENCV中代码风格的简短说明,因为OPENCV的核心库(CV,CVAUX)是用C和C编写的,所以本文档仅对用C和C代码的编写有效。文件命名所有CV和CVAUX库文件的命名必须服从于以下规则1所有的CV库文件名前缀为CV2混合的C/C接口头文件扩展名为H3纯C接口头文件扩展名为HPP4实现文件扩展名为CPP5为了与POSIX兼容,文件名都以小写字符组成文件结构每个文件以BSD兼容的许可声明模板在CONTRIBUTORS_BSD_LICSENSEHTM文件中可以找到开头;其它头文件和实现文件的规则包括一行最多90个字符,不包括行结束符30不使用制表符缩进为4个空格符,所以制表符应该用14个空格替换(依据开始列确定)头文件必须使用保护宏,防止文件被重复包含。混合C/C接口头文件用EXTERN“C”包含C语言定义。为了使预编译头机制在VISUALC中工作正常,源文件必须在其它头文件前包含PRECOMPH头文件。同时,请参见头文件和实现文件的示例。命名约定OPENCV中使用大小写混合样式来标识外部函数、数据类型和类方法。宏全部使用大写字符,词间用下划线分隔。1所有的外部或内部名称,若在多个文件中可见,则必须含有前缀2外部函数使用前缀CV3内部函数使用前缀ICV4数据结构C结构体、枚举、联合体、类使用前缀CV5外部或某些内部宏使用前缀CV_6内部宏使用前缀ICV_函数接口设计为了保持库的一致性,以如下方式设计接口非常重要。函数接口元素包括1功能2名称3返回值4参数类型5参数顺序6参数默认值函数功能必须定义良好并保持精简。函数应该容易镶入到使用其它OPENCV和IPL函数的不同处理过程。函数名称应该简单并能体现函数的功能。以下是OPENCV中的一些基本命名模式大多数函数名形式CV42程序流程图根据结构化程序设计方法,本文把整个工程分布多个子函数。结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。如果我们面临一个复杂的问题,是难以一下子写出一个层次分明、结构清晰、算法正确的程序的。结构化程序设计方法的基本思路是,把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。具体说,采用以下方法保证得到结构化的程序。1自顶向下;2逐步细化;3模块化设计;4结构化编码23。31421子函数VEDIO_ARR从AVI文件到像素灰度值数组子函数VEDIO_ARR从每一帧图像中读出每个像素的灰度值得到以下数据视频文件的帧数FRAMES每帧图像的高度HIGHTS每帧图像的宽度WIDTHS像素灰度值数组IMAGFRAMEHIGHTWIDTH输出所得出据,并定义为全局变量其中FRAME指的是第FRAME帧,HIGHT,WIDTH是帧图像里面的坐标点。读入AVI文件从AVI文件中读取每一帧图像结束开始32422子函数一个坐标的所有帧的像素点的前后背景判断子函数MODLE_GGD(HIGHT,WIDTH),一个坐标的所有帧的像素点的前后背景判断在这个子函数中,输入的是图像的坐标点,输出的是已经处理好的这个坐标对应的所有帧的点。例如输入坐标为(0,0);输出的是所有帧的经过处理的这个坐标对应的像素点。若为前景,则变成白色;若是背景,则变成黑色。33开始输入坐标HIGHT,WIDTHU0,VV0,V0,I0,UUIMAGIHIGHTWIDTH,II1I59NYUU/60I0得到前60帧的均值UJLVVIHIGHTWIDTHU2II1I59NYVVVV/60VSQURTVV接下一页34接上一页I0PFU,V,IMAGIHIGHTWIDTH/计算概率IFPTHRETHOLDNYIMAGIHIGHTWIDTH0II1IMAGIHIGHTWIDTH255II1I59NI60IFIMAGIHIGHTWIDTH255YVSQRT05IMAGIWHUIMAGIWHU05VVU05U05IMAGIWH/更新承接下一页接下一页35IFPTHRETHOLDNYIMAGIHIGHTWIDTH0IMAGIHIGHTWIDTH255IFRAMES接上一页NY结束接上一页PFU,V,IMAGIHIGHTWIDTHII136423MAIN函数开始调用VEDIO_ARRK0J0调用MODLE_GGDK,JJJ1IFJHIGHTSNYKK1IFKWIDTHSN接下一页Y37接上一页ARRIMAGE/这个函数的作用是把IMAGFRAMEHIGHTWIDTH按照原图像的坐标变成图像CVWRITEFRAMECVVIDEOWRITER,AM/这个函数的作用是把图像按原视频文件的帧的位置重新写成视频。CVRELEASEVIDEOWRITERCVVIDEOWRITER/这个函数的作用是释放视频格式文件所占用的内存CVRELEASEIMAGEAIII1/这个函数的作用是释放图像数据文件所占用的内存I0IFAINULLNY结束3843对设计结果的分析39参考文献1百度百科,计算机视觉2AELGAMMAL,RDURAISWAME,DHARWOODANDLSDAVISBACKGROUNDANDFOREGROUNDMODELINGUSINGNONPARAMETRICKERNELDENSITYESTIMATIONFORVISUALSURVEILLANCEPROCIEEE,VOL,90,NO7,JULY20021133MATLAB官方网站,MATLAB的简介4MSDN,C开发中心5熊波,复杂背景下的前景分割研究及在智能监控中的应用华南理工大学硕士论文200656杨文凯,序列图像中运动目标的检测。西北工业大学硕士学们论文20045107HKIN,RSAKAMOTO,IKITAHARA,TTORIYAMA,KKOGUREBACKGROUNDSUBTRACTIONUSINGGENERALIZEDGAUSSIANFAMILYMODELELECTRONICSLETTERSVOLUME44,ISSUE3,JANUARY312008PAGES1891908MOHANDSAIDALLILI,NIZARBOUGUILA,DJEMELZIOUAROBUSTVIDEOFOREGROUNDSEGMENTATIONBYUSINGGENERALIZEDGAUSSIANMIXTUREMODELINGCOMPUTERANDROBOTVISION,2007CRV07FOURTHCANADIANCONFERENCEON2830MAY2007PAGES5035099CWREN,AAZARBAYEJANI,TDARRELL,ANDAPENTLANDPFINDERREALTIMETRACKINGOFTHEHUMANBODYIEEETRANSPAMI,VOL19,NO7,JUL199778078510概率论与数理统计盛骤,谢式千,潘承毅。高等教育出版社11FUYUANHUYANNINGZHANGLANYAOANEFFECTIVEDETECTIONALGORITHMFORMOVINGOBJECTWITHCOMPLEXBACKGROUND。MACHINELEARNINGANDCYBERNETICS,2005PROCEEDINGSOF2005INTE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论