資源簡介
基于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計算權(quán)值矩陣
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
%歸一化系數(shù)
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;?%迭代次數(shù)
????%??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);%候選區(qū)域直方圖
????????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
????%顯示跟蹤結(jié)果
????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個文件信息
- 上一篇:基于matlab 相機標定程序
- 下一篇:MATLAB FF三因子代碼
評論
共有 條評論