MeanShift运动目标跟踪matlab程序.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MeanShift运动目标跟踪matlab程序.docx

MeanShift运动目标跟踪 matlab程序思路简介:1.截取跟踪目标矩阵rect2.求取跟踪目标的加权直方图hist13.读取视频序列中的一帧, 先随机取一块与rect等大的矩形,计算加权直方图hist2。4.计算两者比重函数,如果后者差距过大, 更新新的矩阵中心Y,进行迭代(MeanShift是一种变步长可以迅速接近概率密度峰值的方法),直至一定条件后停止。源程序(参考过其他程序):[plain]?/hololoed/article/details/7591880view plain/hololoed/article/details/7591880copy?function [] = select()close all;clear all;%%%%%%%%%%%%%%%%%%根据一幅目标全可见的图像圈定跟踪目标%%%%%%%%%%%%%%%%%%%%%%%I=imread(E:\数字图像处理\6\2\18.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:a for j=1:b dist=(i-y(1))^2+(j-y(2))^2; m_wei(i,j)=1-dist/h; %epanechnikov profile endendC=1/sum(sum(m_wei));%归一化系数%计算目标权值直方图qu%hist1=C*wei_hist(temp,m_wei,a,b);%target modelhist1=zeros(1,a*b);for i=1:a for j=1:b %rgb颜色空间量化为16*16*16 bins q_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; ? ? ? ? ? ?%设置每个像素点红色、绿色、蓝色分量所占比重? hist1(q_temp+1)= hist1(q_temp+1)+m_wei(i,j); ? ?%计算直方图统计中每个像素点占的权重 endendhist1=hist1*C;rect(3)=ceil(rect(3));rect(4)=ceil(rect(4));%%%%%%%%%%%%%%%%%%%%%%%%%读取序列图像myfile=dir(*.bmp);lengthfile=length(myfile);for l=1:lengthfile Im=imread(myfile(l).name); num=0; Y=[2,2];?%%%%%%%mean shift迭代 while((Y(1)^2+Y(2)^20.5)num20) ? %迭代条件 num=num+1;?temp1=imcrop(Im,rect);??%计算侯选区域直方图?%hist2=C*wei_hist(temp1,m_wei,a,b);%target candidates pu??hist2=zeros(1,a*b);?for i=1:a?for j=1:b q_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);?end?end?hist2=hist2*C;?figure(2);?subplot(1,2,1);?plot(hist2);?hold on;??w=zeros(1,a*b);?for i=1:a*b?if(hist2(i)~=0) w(i)=sqrt(hist1(i)/hist2(i));?else?w(i)=0;?end?end? %变量初始化 sum_w=0; xw=[0,0];?for i=1:a;?for j=1:b?sum_w=sum_w+w(uint32(q_temp1(i,j))+1);?xw=xw+w

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档