DSP数字图像处理综合设计_目标视频跟踪.doc

DSP数字图像处理综合设计_目标视频跟踪.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP数字图像处理综合设计_目标视频跟踪

指导教师:高海林 目录 一、内容要求 1 二、设计原理 1 三、算法流程 2 四、程序实现 3 五、实验结果 5 六、实验总结 7 参考文献 7 一、内容要求 对视频中检测到的物体进行跟踪定位。 二、设计原理 我们的设计思路是先检测出的运动目标,进行运动轮廓坐标的提取。具体步骤: 1.获取当前帧每个像素点的4邻域像素点值; 2.获取下一帧每个像素点的4邻域像素点值; 3.对每个像素点的前后帧4邻域像素点进行判断,若像素点的变化值在阈值范围以内,则判定图像中无运动物体,若超出阈值,则判定图像中有运动物体; 4.分别记录运动物体轮廓像素点的行、列值。 其次由记录的坐标值计算运动物体的几何中心,由几何中心画目标跟踪框,对运动目标进行定位和锁定,目标跟踪框可以是大小固定。 同时也可以根据轮廓确定一个大小可变的跟踪框。 三、算法流程 四、程序实现 1.视频采集任务(tskVideoInput)将视频输入1(Vin1)的图像采样成YUV4:2:2格式的视频数据帧,并转换成YUV4:2:0格式,然后将数据帧的起始地址传递给视频处理任务(tskProcess)。 2.视频处理任务接收到视频数据帧后,进行运动检测,并将YUV4:2:0格式的数据帧起始地址传递给视频显示任务(tskVideoOutput)。 3.视频显示任务接收到视频数据帧后,将YUV4:2:0格式的图像重采样为YUV4:2:2格式的图像,然后提交给显示设备进行显示,运动的物体边缘将在屏幕上。 我们的程序主要参考了SEED602,主要对tskProcess进行了重新编程。具体如下 (1)取当前帧图像的像素点,并作1/4压缩,即将相邻的四个像素点值求平均后存入数组t1: if(flag==1) { for(a=0;a288;a++) { for(b=0;b360;b++) { i=Input[2*a*720+2*b]; q=Input[2*a*720+2*b+1]; c=Input[(2*a+1)*720+2*b]; d=Input[(2*a+1)*720+2*b+1]; t1[a*360+b]=(i+q+c+d)2; } } flag=0; SCOM_putMsg(fromProctoInput, NULL); continue; } (2)取新一帧图像的像素点,也作1/4压缩,将像素点存入数组t2,比较t1和t2的差值,将阈值设为0x40,若大于阈值时,判定改像素点由于运动发生变化,将0xff存入判断数组t3,小于阈值则将0x00存入t3,将t3不为0的对应像素点的横纵坐标分别存入数组zx和zy,同时将各像素点按原像素点值赋值,具体程序如下: for(i=0;i288;i++) { for(q=0;q360;q++) { if(t3[i*360+q]!=0) { t4[i*360+q]=Input[2*i*720+2*q]; zx[m]=i; zy[m]=q; m++; } else t4[i*360+q]=Input[2*i*720+2*q]; } } (3)可得zx[0]为运动目标上边的边缘,zx[m-1]为运动目标下边的边缘,zy[0]为运动目标左边的边缘,zy[m-1]为运动目标右边的边缘,则几何中心的坐标可以确定,根据几何中心画出大小固定的的跟踪框,具体程序如下: { xx0=zx[0]; xx1=zx[m-1]; yy0=zy[0]; yy1=zy[m-1]; xx=(xx0+xx1)/2; yy=(yy0+yy1)/2; for(a=xx-L;axx+L;a+=3) { t4[a*360+yy-L]=0xff; t4[a*360+yy+L]=0xff; } for(b=(yy-L);b(yy+L);b+=3) { t4[(xx-L)*360+b]=0xff; t4[(xx+L)*360+b]=0xff; } (4)将t4解压缩,即每一个像素点的值赋给相邻四个像素点得值,最后输出,具体程序如下: for(a=0;a288;a++)

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档