• 大小: 2.85MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-15
  • 语言: Matlab
  • 标签: meanshift  matlab  跟踪  

资源简介

基于matlab的图像跟踪程序 算法是mean shift 用鼠标选取一个要跟踪的目标 程序会自动跟踪

资源截图

代码片段和文件信息

%mean shift tracking
%citation: Comaniciu D,Ramesh V,Meer P. Kernel-based object tracking [J].
%          IEEE Transaction on Pattern Analysis and Machine Intelligence,2003 25(5): 564-577.
% written by swf.
% date: 2008.12.
% 第一帧用鼠标选择要跟踪的物体
clear all;
rgb=imread(‘0329.jpg‘);
figure(1)imshow(rgb);
[temprect]=imcrop(rgb);
[abc]=size(temp);

%目标中心坐标
y(1)=a/2;
y(2)=b/2;

m_wei=zeros(ab);%权值矩阵
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(ij)=1-dist/h; %epanechnikov profile
    end
end
C=1/sum(sum(m_wei));%归一化系数

%计算目标权值直方图qu
%hist1=C*wei_hist(tempm_weiab);%target model
hist1=zeros(14096);
for i=1:a
    for j=1:b   
        %rgb颜色空间量化为16*16*16 bins
        q_r=fix(double(temp(ij1))/16);
        q_g=fix(double(temp(ij2))/16);
        q_b=fix(double(temp(ij3))/16);
        q_temp=q_r*256+q_g*16+q_b;
        hist1(q_temp+1)= hist1(q_temp+1)+m_wei(ij);
    end
end
hist1=hist1*C;
rect(3)=ceil(rect(3));
rect(4)=ceil(rect(4));
jishu=1;

%%%%%%%%%%%%%%%%%%%%%%%%%读取序列图像
       for i=0329:0380;
       Im=imread([‘0‘int2str(i)‘.jpg‘]);
       
       jishu=jishu+1;
       %Im=medfilt2(Im);
       num=0;
       Y=[22];
       
       tic
       %%%%%%%mean shift迭代
    while((Y(1)^2+Y(2)^2>0.5)&num<20)   %迭代条件
        num=num+1;
       temp1=imcrop(Imrect); 
       %计算侯选区域直方图
       %hist2=C*wei_hist(temp1m_weiab);%target candidates pu
       %                                                                                                                                                                                                                                                                                                                                                                                                                              
       hist2=zeros(14096);
       for i=1:a
         for j=1:b
        q_r=fix(double(temp1(ij1))/16);
        q_g=fix(double(temp1(ij2))/16);
        q_b=fix(double(temp1(ij3))/16);
        q_temp1(ij)=q_r*256+q_g*16+q_b;
        hist2(q_temp1(ij)+1)= hist2(q_temp1(ij)+1)+m_wei(ij);
         end
       end
       hist2=hist2*C;
       %bdist1 = bhattacharyya(hist1 hist2)  
       w=weights(hist1hist2);
      % w=sqrt(hist1./hist2);
       
        %变量初始化
        sum_w=0;
        xw=[00];
       for i=1:a;
           for j=1:b
              bitwei(ij)=w(uint32(q_temp1(ij))+1);
               sum_w=sum_w+w(uint32(q_temp1(ij))+1);
               xw=xw+w(uint32(q_temp1(ij))+1)*[i-y(1)-0.5j-y(2)-0.5];
           end
       end
       Y=xw/sum_w
          %中心点位置更新  
           rect(1)=rect(1)+Y(2);
           rect(2)=rect(2)+Y(1);
    end
    
       v1=rect(1);
       v2=rect(2);
       v3=rect(3);
       v4=rect(4);
       
       %%显示跟踪结果
       figure(2)
       clf
       imshow(uint8(Im))
       hold on;
       plot

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      51271  2008-11-01 15:15  mean+shift+tracking matlab\mean shift tracking\0329.jpg

     文件      51303  2008-11-01 15:15  mean+shift+tracking matlab\mean shift tracking\0330.jpg

     文件      51393  2008-11-01 15:15  mean+shift+tracking matlab\mean shift tracking\0331.jpg

     文件      51406  2008-11-01 15:15  mean+shift+tracking matlab\mean shift tracking\0332.jpg

     文件      51413  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0333.jpg

     文件      51313  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0334.jpg

     文件      51406  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0335.jpg

     文件      51294  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0336.jpg

     文件      51331  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0337.jpg

     文件      51379  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0338.jpg

     文件      51210  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0339.jpg

     文件      51337  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0340.jpg

     文件      51169  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0341.jpg

     文件      51281  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0342.jpg

     文件      51367  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0343.jpg

     文件      51297  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0344.jpg

     文件      51305  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0345.jpg

     文件      51435  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0346.jpg

     文件      51305  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0347.jpg

     文件      51378  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0348.jpg

     文件      51562  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0349.jpg

     文件      51565  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0350.jpg

     文件      51663  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0351.jpg

     文件      51619  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0352.jpg

     文件     467965  2010-05-04 23:38  mean+shift+tracking matlab\mean shift tracking\0353.jpg

     文件      51647  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0354.jpg

     文件      51472  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0355.jpg

     文件      51584  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0356.jpg

     文件      51871  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0357.jpg

     文件      51759  2008-11-01 15:16  mean+shift+tracking matlab\mean shift tracking\0358.jpg

............此处省略29个文件信息

评论

共有 条评论