欢迎来到天天文库
浏览记录
ID:31433129
大小:108.50 KB
页数:7页
时间:2019-01-09
《matlab下视频处理系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Matlab下视频处理系统设计与实现 摘要:随着计算机技术的飞速发展,人们想要通过计算机方便快捷地获取来自外界的可靠数据,在此过程中数字信息处理技术占据了重要地位。研究基于Matlab的视频处理系统的设计与开发,借助Matlab图像处理技术并选取光流法对视频进行处理,最终实现对视频中运动物体的检测。该研究可为运动物体的跟踪与预测技术奠定基础。 关键词:Matlab;视频处理;物体检测;光流法 DOIDOI:10.11907/rjdk.162508 中图分类号:TP319 文献标识码:A文章编号:1672-7800(2016)012-0071-03 0引言 在日
2、常生活和科学研究领域,数字图像(视频)是人们获取外界信息的主要媒介。随着图像处理研究的不断深入,出现了许多亟待解决的问题。如今,图像处理已经成为一个较为成熟的学科。Matlab是一款应用广泛的数学软件,其在视频处理方面提供了一个功能强大、高效便捷的图像及视频文件处理工具箱ImageProcessingToolBox。针对视频中的运动物体检测问题,本文提出了一种运动物体检测方法。该方法结合Matlab的视频及图像处理工具箱,可有效检测出视频中不同时间间隔内的运动物体。 1运动物体检测简介7 如今,针对运动物体检测工作,结合C语言等开发环境,使用较多的平台有OpenCV、M
3、atlab等。运动物体检测的目的是分析运动物体在各个时刻的运动轨迹,从而根据运动规律跟踪并推测该运动物体在下一时刻的运动趋势。该检测技术属于人工智能范畴,在仿真技术逐步完善的今天,该领域的研究范围逐渐扩大,研究也更加深入。 2系统相关技术分析 如图1所示,本课题主要研究的问题是如何利用Matlab对图像进行处理,生成光流场,最终检测视频中的运动物体。所以首先需要熟练使用Matlab在视频处理中的一些常用函数,以及函数的调用方式,并熟悉几种常用的运动物体检测方法原理和计算方式。 2.1视频读取 随着Matlab软件的不断更新,如今能够满足很多格式视频文件的读取,表1中
4、对常用的视频读取函数进行了举例说明。 2.2运动物体检测技术 常用的运动物体检测方法有:背景减法、三帧差法、光流法[1]。本研究中选取基于梯度算法的光流法,生成光流场,根据矢量像素点检测该时区内的运动物体。 2.2.1光流法7 光流法作为一种实用的运动物体检测方法,将空间物体运动时表面的点向用户提供视觉平面上的抽象表达。1998年提出的新的光流法定义为几何变化及辐射度变化的详细表达[2]。运用光流法实现运动物体检测的原理概括为:将图像看作由有限个像素点构成的平面,光流图像即是将每个像素点赋予矢量值后构成的矢量场。运动物体在任意固定的时间点,生成的光流场像素点与运动物
5、体初始像素点的关系相互对应。根据投影关系获得这种逐一对应的关系,最后依据运动物体像素点具备的矢量特征,对图像进行系统性的动态分析。分析方式如下:①若光流场中所有矢量点在图像区域中产生的运动是连续的,则该图像中不存在运动物体; ②当图像中存在运动物体时,运动目标与图像背景间会因产生相对运动[3]被体现出来,因此运动目标形成速度的矢量必然会不同于邻域背景产生的速度矢量,从而能够检测出运动物体及其位置。 2.2.2微分法 以上介绍了光流法的基本思想,在第一步需要给图像中每个像素点赋予矢量值,可以选择基于梯度[4]、匹配[5]、能量[6]和相位[7]等方法。本文中使用基于梯度
6、的方法,即微分法。微分法计算过程简单,结果准确,因此应用十分广泛。该方法主要利用实时图像灰度或时空梯度函数计算每个像素产生的速度矢量值。在此基础上,研究者们也不断提出了一些新的改良算法,例如分段式平滑计算,通过使用加权矩阵控制对梯度进行不同程度的平滑处理。 2.2.3灰度图 灰度图又称为灰阶图,指黑白图像中点的颜色深度,范围一般为0~255。白色为255,黑色为0,故黑白图片也称为灰度图像,在医学、图像识别领域应用广泛。 3系统设计与实现7 本设计选取的视频是在avi格式的视频文件中截取的时长为10s左右的片段,选用的视频最好保持背景不变,例如马路上行驶的车辆与行人
7、等。 3.1单帧图像读取与保存 此部分主要需要解决如何提取并保存视频中单帧图片的问题。提取方式初步选用固定时间间隔提取单个单帧图像,后期经过改善,选用逐帧提取方式。为了便于后续过程中的图像提取,保存的单帧图像根据提取次序命名。视频是由有限个单帧图像经过连续播放而形成视觉上的连续变化,因此在第一步主要通过调用功能函数连续读取视频每一帧图像,实现视频播放,即: fork=1:nFrames mov(k).cdata=read(test1,k) 其中,mov(k)代表需要播放视频的总帧数。 播放视频的同时,对
此文档下载收益归作者所有