- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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++)
您可能关注的文档
- Cultural Comparison 文化比较.pptx
- C学生学籍管理系统程序.doc
- C语言 分类.doc
- C国外藏研第三讲.ppt
- C语言学习-第3篇 栈和队列.ppt
- C语言实验学生版(最新版).doc
- c型根管的特点及.ppt
- C语言综合实验2报告.doc
- C语言判断题+选择题.doc
- C语言数据结构-查找和排序.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)