下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、光流法是比较经典的运动估计方法,本文不仅叙述简单明了,而且附代码,故收藏.在空间中,运动可以用运动场描述。而在一个图像平面上,物体的运动往往是通过图像序列中不同图象灰 度分布的不同体现的。从而,空间中的运动场转移到图像上就表示为光流场,光流场反映了图像上每一点 灰度的变化趋势。光流可以看作带有灰度的像素点在图像平面运动产生的瞬时速度场。下面我们推导光流方程:假设E(x,y,t)为(x,y)点在时刻t的灰度(照度)。设t+dt时刻该点运动到(x+dx,y+dy)点,他的照度为 E(x+dx,y+dy,t+dt)。我们认为,由于对应同一个点,所以 E(x,y,t) = E(x+dx,y+dy,t+
2、dt)光流约束方程将上式右边做泰勒展开,并令dt-0,则得到:Exu+Eyv+Et = 0,其中:Ex = dE/dx Ey = dE/dy Et = dE/dt u = dx/dt v = dy/dt上面的Ex,Ey,Et的计算都很简单,用离散的差分代替导数就可以了。光流法的主要任务就是通过求解光流 约束方程求出u,v。但是由于只有一个方程,所以这是个病态问题。所以人们提出了各种其他的约束方程以 联立求解。但是由于我们用于摄像机固定的这一特定情况,所以问题可以大大简化。摄像机固定的情形在摄像机固定的情形下,运动物体的检测其实就是分离前景和背景的问题。我们知道对于背景,理想情况 下,其光流应当
3、为0,只有前景才有光流。所以我们并不要求通过求解光流约束方程求出u,v。我么只要求 出亮度梯度方向的速率就可以了,即求出sqrt(u*u+v*v)。而由光流约束方程可以很容易求到梯度方向的光流速率为V = abs(Et/sqrt(Ex*Ex+Ey*Ey)。这样我们设定 一个阈值T。V(x,y) T则(x,y)是前景,反之是背景C+实现在实现摄像机固定情况的光流法时,需要有两帧连续的图像,下面的算法针对RGB24格式的图像计算光 流:void calculate(unsigned char* buf)(int Ex,Ey,Et;int gray1,gray2;int u;int i,j;mems
4、et(opticalflow,0,width*height*sizeof(int);memset(output,255,size);for(i=2;iheight-2;i+)(for(j=2;j10)(output(i*width+j)*3 = 0;output(i*width+j)*3+1 = 0;output(i*width+j)*3+2 = 0;memcpy(prevframe,buf,size);/另一个代码/WW_RETURN HumanMotion:ImgOpticalFlow(IplImage *pre_grey,IplImage *grey)/*Function:Descrip
5、tion:光流法计算运动速度与方向Date:2006-6-14Author:Input:Output:Return:Others:*/(IplImage *velx = cvCreateImage( cvSize(grey-width ,grey-height),IPL_DEPTH_32F, 1 );IplImage *vely = cvCreateImage( cvSize(grey-width ,grey-height),IPL_DEPTH_32F, 1 );velx-origin = vely-origin = grey-origin;CvSize winSize = cvSize(5,
6、5);cvCalcOpticalFlowLK( prev_grey, grey, winSize, velx, vely );cvAbsDiff( grey,prev_grey, abs_img );cvThreshold( abs_img, abs_img, 29, 255, CV_THRESH_BINARY);CvScalar xc,yc;for(int y =0 ;yheight; y+)for(int x =0;xwidth;x+ )(xc = cvGetAt(velx,y,x);yc = cvGetAt(vely,y,x);float x_shift= (float)xc.val0;
7、float y_shift= (float)yc.val0;const int winsize=5; 计算光流的窗口大小if(x%(winsize*2)=0) & (y%(winsize*2)=0)(if(x_shift!=0 | y_shift!=0)(if(xwinsize & ywinsize & x width-winsize) & yheight-winsize) (cvSetImageROI( velx, cvRect( x-winsize, y-winsize, 2*winsize, 2*winsize);CvScalar total_x = cvSum(velx);float
8、xx = (float)total_x.val0;cvResetlmageROI(velx);cvSetImageROI( vely, cvRect( x-winsize, y-winsize, 2*winsize, 2*winsize);CvScalar total_y = cvSum(vely);float yy = (float)total_y.val0;cvResetImageROI(vely);cvSetImageROI( abs_img, cvRect( x-winsize, y-winsize, 2*winsize, 2*winsize);CvScalar total_speed
9、 = cvSum(abs_img);float ss = (float)total_speed.val0/(4*winsize*winsize)/255;cvResetImageROI(abs_img);const double ZERO = 0.000001;const double pi = 3.1415926;double alpha_angle;if(xx-ZERO)alpha_angle = pi/2;elsealpha_angle = abs(atan(yy/xx);if(xx0) alpha_angle = pi - alpha_angle ;if(xx0 & yy0 & yy0
10、) alpha_angle = 2*pi - alpha_angle ;CvScalar line_color;float scale_factor = ss*100;line_color = CV_RGB(255,0,0);CvPoint pt1,pt2;pt1.x = x;pt1.y = y;pt2.x = static_cast(x + scale_factor*cos(alpha_angle);pt2.y = static_cast(y + scale_factor*sin(alpha_angle);cvLine( image, pt1, pt2 , line_color, 1, CV
11、_AA, 0 );CvPoint p;p.x = (int) (pt2.x + 6 * cos(alpha_angle - pi / 4*3);p.y = (int) (pt2.y + 6 * sin(alpha_angle - pi / 4*3);cvLine( image, p, pt2, line_color, 1, CV_AA, 0 );p.x = (int) (pt2.x + 6 * cos(alpha_angle + pi / 4*3);p.y = (int) (pt2.y + 6 * sin(alpha_angle + pi / 4*3);cvLine( image, p, pt2, line_color, 1, CV_AA, 0 );/*line_color = CV_RGB(255,255,0);pt1.x = x-winsize;pt1.y = y-winsize;pt2.x = x+winsize;pt2.y = y+winsize;cvR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代企业数字化转型目标规划指南
- 环保科技产品设计与使用手册
- 2026调试技师面试题及答案
- 社区环境美化专项工作指导书
- 2026房产托管面试题及答案
- 2026辅警面试题目讲解及答案
- 阅读习惯养成:阅读改变生活的小学主题班会课件
- 2026合作竞争面试题及答案
- 财务管理与决策分析指南
- 2026年山西省吕梁市高三下学期一模考试生物试题含解析
- 青海省西宁市2024-2025学年七年级下学期期末历史试题 (含答案)
- 黄水院水工建筑物基础课件第6章 土石坝
- 清远岭南文化课件下载
- 2024年内蒙古呼伦贝尔农垦集团有限公司招聘真题
- 夏季脑血管病预防
- DL-T5181-2017水电水利工程锚喷支护施工规范
- 《职业卫生》模拟考试题与参考答案
- 【课件】半偏法测量电表内阻(课件)
- 重庆市国企招聘考试真题及答案
- 碧桂园-物业保洁综合技能培训课件
- 《美国1787年宪法》实用的教学设计
评论
0/150
提交评论