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

资源简介

基于Meanshift的单目标跟踪的Matlab跟踪代码,首先用鼠标选定跟踪目标窗口,双击后会启动跟踪程序

资源截图

代码片段和文件信息

close all;
clear all;
rgb = imread(‘126.jpg‘);
figure(1);
imshow(rgb);
[temprect] = imcrop(rgb);%交互式切图
[abc] = size(temp);

%中心点位置
y(1) = a/2;
y(2) = b/2;
%带宽
h = y(1)^2 + y(2)^2;
%用epanechnikov计算权值矩阵
t_weight = zeros(ab);
for i = 1:a
    for j = 1:b
        dist = (i - y(1))^2 + (j - y(2))^2;
        t_weight(ij) = 1 - dist/h;
    end
end
%归一化系数
C = 1/sum(sum(t_weight));
%计算跟踪目标直方图16*16*16 bins
hist1 = zeros(14096);

for i = 1:a
    for j = 1:b
        t_r = fix(double(temp(ij1))/16);
        t_g = fix(double(temp(ij2))/16);
        t_b = fix(double(temp(ij3))/16);
        t_color(ij) = 256*t_r + 16*t_g + t_b;
        hist1(t_color(ij) + 1) = hist1(t_color(ij) + 1) + t_weight(ij);

    end
end
hist1 = C*hist1;  %归一化直方图
%读取待跟踪序列
 myfile=dir(‘D:\mathwork\data\imageg\*.jpg‘);
lengthfile=length(myfile);


for k=1:lengthfile
  Im=imread([‘D:\mathwork\data\imageg\‘myfile(k).name]);
    num = 0; %迭代次数
    %  Y = [22]; %移动向量
    Y = [11]; %移动向量
    %meanshift迭代
    while ((Y(1)^2 + Y(2)^2)>0.8) && (num < 30)
        num = num + 1;
        temp1=imcrop(Imrect); 
        hist2 = zeros(14096);%候选区域直方图
        for i = 1:a
            for j = 1:b
                m_r = fix(double(temp1(ij1))/16);
                m_g = fix(double(temp1(ij2))/16);
                m_b = fix(double(temp1(ij3))/16);
                m_color(ij) = 256*m_r + 16*m_g + m_b;
                hist2(m_color(ij) + 1) = hist2(m_color(ij) + 1) + t_weight(ij);
            end
        end
        hist2 = C * hist2;
        w = weight(hist1hist2);
        %计算移动量
        sum_w = 0;
        xw = [0 0];
        for i = 1:a
            for j = 1:b
                sum_w = sum_w + w(uint32(m_color(ij)) + 1);
                xw = xw + w(uint32(m_color(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(Im);
    hold on
    rectangle(‘Position‘[rect(1) rect(2) rect(3) rect(4)]‘EdgeColor‘‘g‘);
end

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

     文件      14890  2016-04-13 22:26  Meanshift_tracking\126.jpg

     文件      14890  2016-04-13 22:26  Meanshift_tracking\image\126.jpg

     文件      14899  2016-04-13 22:26  Meanshift_tracking\image\127.jpg

     文件      14886  2016-04-13 22:26  Meanshift_tracking\image\128.jpg

     文件      14831  2016-04-13 22:26  Meanshift_tracking\image\129.jpg

     文件      14791  2016-04-13 22:26  Meanshift_tracking\image\130.jpg

     文件      14694  2016-04-13 22:26  Meanshift_tracking\image\131.jpg

     文件      14629  2016-04-13 22:26  Meanshift_tracking\image\132.jpg

     文件      14585  2016-04-13 22:26  Meanshift_tracking\image\133.jpg

     文件      14652  2016-04-13 22:26  Meanshift_tracking\image\134.jpg

     文件      14704  2016-04-13 22:26  Meanshift_tracking\image\135.jpg

     文件      14800  2016-04-13 22:26  Meanshift_tracking\image\136.jpg

     文件      14882  2016-04-13 22:26  Meanshift_tracking\image\137.jpg

     文件      14940  2016-04-13 22:26  Meanshift_tracking\image\138.jpg

     文件      14966  2016-04-13 22:26  Meanshift_tracking\image\139.jpg

     文件      14967  2016-04-13 22:26  Meanshift_tracking\image\140.jpg

     文件      14965  2016-04-13 22:26  Meanshift_tracking\image\141.jpg

     文件      14945  2016-04-13 22:26  Meanshift_tracking\image\142.jpg

     文件      14986  2016-04-13 22:26  Meanshift_tracking\image\143.jpg

     文件      14865  2016-04-13 22:26  Meanshift_tracking\image\144.jpg

     文件      14785  2016-04-13 22:26  Meanshift_tracking\image\145.jpg

     文件      14721  2016-04-13 22:26  Meanshift_tracking\image\146.jpg

     文件      14642  2016-04-13 22:26  Meanshift_tracking\image\147.jpg

     文件      14591  2016-04-13 22:26  Meanshift_tracking\image\148.jpg

     文件      14691  2016-04-13 22:26  Meanshift_tracking\image\149.jpg

     文件      14723  2016-04-13 22:26  Meanshift_tracking\image\150.jpg

     文件      14835  2016-04-13 22:26  Meanshift_tracking\image\151.jpg

     文件      14891  2016-04-13 22:26  Meanshift_tracking\image\152.jpg

     文件      14958  2016-04-13 22:26  Meanshift_tracking\image\153.jpg

     文件      14999  2016-04-13 22:26  Meanshift_tracking\image\154.jpg

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

评论

共有 条评论