光流法实验报告.docx

光流法实验报告.docx

ID:59227280

大小:494.60 KB

页数:7页

时间:2020-09-09

光流法实验报告.docx_第1页
光流法实验报告.docx_第2页
光流法实验报告.docx_第3页
光流法实验报告.docx_第4页
光流法实验报告.docx_第5页
资源描述:

《光流法实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算方法实验报告实验名称光流法实验时间2015.1.12小组舵手不剁手班级12电科成员谢静韦飞燕靳婷婷张一帆陈泽宇一、实验目的,内容[目的]1.了解光流法的背景知识;2.掌握光流法的基本原理和方法,并用用MATLAB或vc6.0下实现光流法;3.掌握课外知识并提高小组成员之间的合作能力;4.通过实验将理论和实践联系起来,提升对于理论知识的认识。[内容]1.用MATLAB或vc6.0下实现光流法,并实现视频或者摄像头的监控2.编程实现对进入视觉范围内的运动物体实施监测与跟。;二、相关背景知识介绍1.光流的概念(Opticalfloworopticflow)1950年,Gibuson

2、首先提出了光流的概念,所谓光流就是指图像表现运动的速度。物体在运动的时候之所以能被人眼发现,就是因为当物理运动时,会在人的视网膜上形成一系列的连续变化的图像,这些变化信息在不同时间,不断的流过眼睛视网膜,就好像一种光流过一样,故称之为光流。2.光流法的原理光流法用于目标检测的原理:给图像中的每个像素点赋予了一个速度矢量,这样就形成了一个运动矢量场。在某一特定时刻,图像上的点与三维物体上的点一一对应,这种对应关系可以通过投影来计算得到。根据各个像素点的速度矢量特征,可以对图像进行动态分析。如果图像中没有运动目标,则光流矢量在整个图像区域是连续变化的。当图像中有运动物体时,目标和背景

3、存在着相对运动。运动物体所形成的速度矢量必然和背景的速度矢量有所不同,如此便可以计算出运动物体的位置。需要提醒的是,利用光流法进行物体检测时,计算量较大,无法保证实时性和实用性。 光流法用于目标跟踪的原理: (1) 对一个连续的视频帧序列进行处理; (2) 针对每一个视频序列,利用一定的目标检测方法,检测可能出现的前景目标; (3) 如果某一帧出现了前景目标,找到其具有代表性的关键特征点;(4)对之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标。3.光流的计算方法从不同的分析角度引入不同的约束条件,就会导致产生不

4、同的光流计算方法。目前应用较为普遍的光流计算方法主要有以下四种: (1)基于梯度的方法(2)基于匹配的方法(3)基于相位的方法(4) 基于能量的方法 基于时空梯度的光流算法也称为微分法,是一种最常用的计算方法,根据时变图像灰度的梯度函数,梯度算法得到图像中每个像素点的运动矢量。基于匹配的方法就是在图像序列的顺序图像之间,搜索与相对像素点最拟合的位移,这个位移就是最终需要的速度矢量。基于相位的方法在光流的计算中引入了相位信息,在带通调谐滤波器的输出中,利用与等相位轮廓垂直的瞬时运动可以确定分速度。三、代码CppExp.cpp#include#include"cv.

5、h"#include"highgui.h"#include"math.h"staticconstdoublepi=3.;inlinestaticdoublesquare(inta){returna*a;}/*Thisisjustaninlinethatallocatesimages.Ididthistoreduceclutterinthe*actualcomputervisionalgorithmiccode.Basicallyitallocatestherequestedimage*unlessthatimageisalreadynon-NULL.Italwaysleavesa

6、non-NULLimageas-iseven*ifthatimage'ssize,depth,and/orchannelsaredifferentthantherequest.*//*这仅仅是一个行内分配图像。我这样做是在实际的计算机视觉算法的代码,以减少混乱。基本上它分配请求的图像,除非该图像已经非NULL。为正的,即使该图像的大小,深度和/或信道比的要求是不同的,它总是会留下一个非NULL图像。*/inlinestaticvoidallocateOnDemand(IplImage**img,CvSizesize,intdepth,intchannels){if(*img!=N

7、ULL)return;*img=cvCreateImage(size,depth,channels);if(*img==NULL){fprintf(stderr,"Error:Couldn'tallocateimage.Outofmemory?");exit(-1);}}intmain(void){/*Createanobjectthatdecodestheinputvideostream.*//*创建一个对象,解码输入的视频数据流。*/CvCapture*input_vid

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。