单目标跟踪,采用matlab画跟踪器在VOT数据集视频序列上的可视化跟踪结果

"本文档详细介绍了如何使用vot-workspace中的脚本将DSST和ECO的results文件转换为.mat格式,并在VOT2016_mat和VOT2016_resultpicture目录下生成跟踪效果图片。涉及到了文件操作、数据读取和图像绘制等步骤。"
摘要由CSDN通过智能技术生成

1. 先运行vot-workspace\draw.m中的下面部分代码,将results中.tex文件转化为.mat文件,结果保存在D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_mat中.

filename = 'DSST';
list = dir(['D:\zlc\vot-toolkit-master\vot-workspace\results\' filename '\unsupervised']);
for i = (3:62)
    fid = fopen(['D:\zlc\vot-toolkit-master\vot-workspace\results\' filename '\unsupervised\', list(i).name, '\', list(i).name, '_001.txt']);
    tline = fgetl(fid);
    DSST_result = [];
    while ischar(tline)
        S = regexp(tline, ',', 'split');
        lie = size(S);
        if lie(2) == 4
            a = transpose(str2num(cell2mat(S(1))));
            b = transpose(str2num(cell2mat(S(2))));
            c = transpose(str2num(cell2mat(S(3))));
            d = transpose(str2num(cell2mat(S(4))));
        else
            a = transpose(str2num(cell2mat(S(1))));
            b=0;
            c=0;
            d=0;
        end  
        DSST_result = [DSST_result;a,b,c,d];
        tline = fgetl(fid);
    end
    fclose(fid);
    if exist(['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_mat\' filename '\'])==0   %该文件夹不存在,则直接创建
        mkdir(['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_mat\' filename '\']);
    end
    save(['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_mat\' filename '\', list(i).name, '_' filename '_result.mat'],[filename '_result'])
end

2. 再运行vot-workspace\draw.m中的上面部分代码,开始画跟踪效果图,结果保存在D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\picture中.

list = dir('D:\zlc\vot-toolkit-master\vot-workspace\results\ECO/baseline');
for i = (3:63)    
    file = list(i).name;
    if exist(['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\picture\', file])==0   %该文件夹不存在,则直接创建
        mkdir(['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\picture\', file]);
    end
%     CN_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\CN\', file, '_CN_result.mat'];
    DSST_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\DSST\', file, '_DSST_result.mat'];
%     CSK_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\CSK\', file, '_CSK_result.mat'];
%     KCF_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\KCF\', file, '_KCF_result.mat'];
%     SAMF_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\SAMF\', file, '_SAMF_result.mat'];
%     CCOT_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\CCOT\', file, '_CCOT_result.mat'];
%     staple_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\staple\', file, '_staple_result.mat'];
%     ECO_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\ECO\', file, '_ECO_result.mat'];
%     fDSST_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\fDSST\', file, '_fDSST_result.mat'];
%     HCF_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\HCF\', file, '_HCF_result.mat'];
%     OURS_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\OURS\', file, '_OURS_result.mat'];
%     SRDCF_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\SRDCF\', file, '_SRDCF_result.mat'];
%     SRDCFdecon_name = ['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\SRDCFdecon\', file, '_SRDCFdecon_result.mat'];
%     load(CN_name);
    load(DSST_name);
%     load(CSK_name); 
%     load(KCF_name);
%     load(SAMF_name);
%     load(staple_name);
%     load(CCOT_name);
%     load(ECO_name);
%     load(fDSST_name);
%     load(HCF_name);
%     load(OURS_name);
%     load(SRDCF_name);
%     load(SRDCFdecon_name);
    file_path = ['D:\zlc\vot2016\', file, '\'];% 图像文件夹路径 ?
    img_path_list = dir(strcat(file_path,'*.jpg'));%获取该文件夹中所有bmp格式的图像 ?
    img_num = length(img_path_list);%获取图像总数量?
    I=cell(1,img_num);
    % staple 红    DSST 青蓝     CSK绿     KCF黄        SAMF蓝          CN橘黄
    if img_num > 0 %有满足条件的图像 ?
        for j = 1:img_num %逐一读取图像 ?
            image_name = img_path_list(j).name;% 图像名 ?
            image = imread(strcat(file_path,image_name));
    %         I{j}=image;
            imshow(image);
            hold on
%             regiondraw(OURS_result(j,:),[1,0,0],'-');
%             regiondraw(CN_result(j,:),[0,1,0],'--');
%             regiondraw(CSK_result(j,:),[0,0,1],':');
            regiondraw(DSST_result(j,:),[0,0,0],'-');
%             regiondraw(ECO_result(j,:),[1,0,1],'--');
%             regiondraw(fDSST_result(j,:),[0,1,1],':');
%             regiondraw(HCF_result(j,:),[0.5,0.5,0.5],'-');
%             regiondraw(KCF_result(j,:),[136,0,21]/255,'--');
%             regiondraw(SAMF_result(j,:),[255,127,39]/255,':');
%             regiondraw(SRDCF_result(j,:),[0,162,232]/255,'-');
%             regiondraw(SRDCFdecon_result(j,:),[163,73,164]/255,'-.');
%             regiondraw(staple_result(j,:),[1,1,0],'-');
%             regiondraw(CCOT_result(j,:),[112,73,73]/255,'--');
            
            Frame=getframe ; 
            imwrite(Frame.cdata,['D:\zlc\vot-toolkit-master\vot-workspace\VOT2016_result\picture\', file , '\', image_name])
%             pause;
    %         fprintf('%d %d %s\n',i,j,strcat(file_path,image_name));% 显示正在处理的图像名 ?
            %图像处理过程 省略 ?

            %这里直接可以访问细胞元数据的方式访问数据

        end
    end
    close all
end




function regiondraw(region,color,lineStyle)

    width = 2;
    if numel(region) == 4
        for i = 1:size(region, 1)
            x = [region(i, 1), region(i, 1), region(i, 1) + region(i, 3), ...
                 region(i, 1) + region(i, 3), region(i, 1)];
            y = [region(i, 2), region(i, 2) + region(i, 4), region(i, 2) + ...
                 region(i, 4), region(i, 2), region(i, 2)];
            plot(x, y, 'Color', color, 'LineWidth', width,'lineStyle',lineStyle);
        end
    end

end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值