MeanShift运动目标跟踪 matlab程序

上传人:ji****72 文档编号:37520753 上传时间:2018-04-17 格式:DOCX 页数:6 大小:195.92KB
返回 下载 相关 举报
MeanShift运动目标跟踪 matlab程序_第1页
第1页 / 共6页
MeanShift运动目标跟踪 matlab程序_第2页
第2页 / 共6页
MeanShift运动目标跟踪 matlab程序_第3页
第3页 / 共6页
MeanShift运动目标跟踪 matlab程序_第4页
第4页 / 共6页
MeanShift运动目标跟踪 matlab程序_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《MeanShift运动目标跟踪 matlab程序》由会员分享,可在线阅读,更多相关《MeanShift运动目标跟踪 matlab程序(6页珍藏版)》请在金锄头文库上搜索。

1、MeanShift 运动目标跟踪 matlab 程序思路简介:1.截取跟踪目标矩阵 rect2.求取跟踪目标的加权直方图 hist13.读取视频序列中的一帧, 先随机取一块与 rect 等大的矩形,计算加权直方图 hist2。4.计算两者比重函数,如果后者差距过大, 更新新的矩阵中心 Y,进行迭代(MeanShift是一种变步长可以迅速接近概率密度峰值的方法),直至一定条件后停止。源程序(参考过其他程序):plain view plaincopy1. function = select() close all; clear all; %根据一幅目标全可见的图像圈定跟踪目标% % I=imrea

2、d(E:数字图像处理6218.bmp); figure(1); imshow(I);temp,rect=imcrop(I); a,b,c=size(temp); %计算目标图像的权值矩阵% % y(1)=a/2;y(2)=b/2; tic_x=rect(1)+rect(3)/2; tic_y=rect(2)+rect(4)/2; m_wei=zeros(a,b);%权值矩阵 h=y(1)2+y(2)2 ;%带宽for i=1:afor j=1:bdist=(i-y(1)2+(j-y(2)2;m_wei(i,j)=1-dist/h; %epanechnikov profileend end C=

3、1/sum(sum(m_wei);%归一化系数%计算目标权值直方图 qu %hist1=C*wei_hist(temp,m_wei,a,b);%target model hist1=zeros(1,a*b); for i=1:afor j=1:b %rgb 颜色空间量化为 16*16*16 binsq_r=fix(double(temp(i,j,1)/16); %fix 为趋近 0 取整函数q_g=fix(double(temp(i,j,2)/16);q_b=fix(double(temp(i,j,3)/16);q_temp=q_r*256+q_g*16+q_b; %设置每个像素点红色、绿色、

4、蓝色分量所占 比重 hist1(q_temp+1)= hist1(q_temp+1)+m_wei(i,j); %计算直方图统计中每个像素点占 的权重end end hist1=hist1*C; rect(3)=ceil(rect(3); rect(4)=ceil(rect(4);%读取序列图像 myfile=dir(*.bmp); lengthfile=length(myfile);for l=1:lengthfileIm=imread(myfile(l).name);num=0;Y=2,2;%mean shift 迭代while(Y(1)2+Y(2)20.5)temp1=imcrop(Im,

5、rect); %计算侯选区域直方图%hist2=C*wei_hist(temp1,m_wei,a,b);%target candidates pu hist2=zeros(1,a*b);for i=1:afor j=1:bq_r=fix(double(temp1(i,j,1)/16);q_g=fix(double(temp1(i,j,2)/16);q_b=fix(double(temp1(i,j,3)/16);q_temp1(i,j)=q_r*256+q_g*16+q_b;hist2(q_temp1(i,j)+1)= hist2(q_temp1(i,j)+1)+m_wei(i,j);enden

6、dhist2=hist2*C;figure(2);subplot(1,2,1);plot(hist2);hold on;w=zeros(1,a*b);for i=1:a*bif(hist2(i)=0)w(i)=sqrt(hist1(i)/hist2(i);elsew(i)=0;endend%变量初始化sum_w=0;xw=0,0;for i=1:a;for j=1:bsum_w=sum_w+w(uint32(q_temp1(i,j)+1); xw=xw+w(uint32(q_temp1(i,j)+1)*i-y(1)-0.5,j-y(2)-0.5; endendY=xw/sum_w;%中心点位置

7、更新 rect(1)=rect(1)+Y(2);rect(2)=rect(2)+Y(1);end%跟踪轨迹矩阵%tic_x=tic_x;rect(1)+rect(3)/2;tic_y=tic_y;rect(2)+rect(4)/2;v1=rect(1);v2=rect(2);v3=rect(3);v4=rect(4);%显示跟踪结果%subplot(1,2,2);imshow(uint8(Im);title(目标跟踪结果及其运动轨迹);hold on;plot(v1,v1+v3,v2,v2,v1,v1,v2,v2+v4,v1,v1+v3,v2+v4,v2+v4,v1+v3,v1+v3,v2,v2+ v4,LineWidth,2,Color,r);plot(tic_x,tic_y,LineWidth,2,Color,b);end结果截图:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号