資源簡介
該資源是包含代碼和樣例圖像序列,代碼附帶詳細的注釋,深入淺出幫助你理解Meanshift算法和目標跟蹤的關系,巴適系數和meanshift向量的關系

代碼片段和文件信息
%%?從零基礎實現meanshift算法
close?all;
clear?all;
clc;
%%?根據一幅目標全可見的圖像圈定跟蹤目標
I=imread(‘0001.jpg‘);
figure(1);
imshow(I);
[target_image rect]???????????????=?imcrop(I);????????????%?(rect(1)rect(2))為目標圖像左上角坐標????????????????????????????????????????????????????????????
%??————→?x軸?(1到544)?對應圖像的列?????????????????????%?rect(3)是目標圖像的寬度(x軸)????????????????
%?|?????????????????????????????????????????????????????????%?rect(4)是目標圖像的高度(y軸)?
%?|?????????????????????????????????????????????????????????%?目標圖像右下角坐標(rect(1)+rect(3),rect(3)+rect(4))
%?↓
%?y軸(1到960)?對應圖像的行
[target_rowtarget_coltarget_dim]??=?size(target_image);???%?獲取目標圖像行數?列數?維度
%%?計算目標圖像的權值矩陣
target_center_x =?rect(1)?+?rect(3)/2;??????????????????????%?目標圖像在原圖像中的?X軸中心坐標??????
target_center_y =?rect(2)?+?rect(4)/2;??????????????????????%?目標圖像在原圖像中的?Y軸中心坐標
y(1)????????????=?target_row/2;?????????????????????????????%?目標圖像在目標圖像的?Y軸中心坐標??????
y(2)????????????=?target_col/2;?????????????????????????????%?目標圖像在目標圖像的?X軸中心坐標?
h???????????????=?(target_row/2)^2?+?(target_col/2)^2;??????%?帶寬?(對角線長度/2)^2
weight??????????=?zeros(target_rowtarget_col);?????????????%?權值矩陣
for?i=1:target_row
????for?j=1:target_col
????????distance=(i-y(1))^2+(j-y(2))^2;?????????????????????%?計算每個點到中心坐標的距離
????????weight(ij)=1-distance/h;???????????????????????????%?Epanechnikov?profile(距離越大,權值越小)
????end
end
C???????????????=?1?/?sum(sum(weight));?????????????????????%?歸一化系數?(?Tips?二維數組的求和?sum(sum(array))?)
%%?計算目標權值直方圖qu
TargetHistogram?????=?zeros(14096);??????????????????????%?目標的權值直方圖
for?i=1:target_row
????for?j=1:target_col
????????%?rgb顏色空間量化為16*16*16?bins
????????%?rgb的三個維度每一維都0~255?除16之后?每一維就降到了0~15
????????q_r?????=?fix(double(target_image(ij1))/16);??????%?fix為?下取整函數
????????q_g?????=?fix(double(target_image(ij2))/16);
????????q_b?????=?fix(double(target_image(ij3))/16);
????????q_temp =?q_r*256?+?q_g*16?+?q_b;???????????????????%?降維之后的16位的RGB空間可以把顏色分為?16*16*16=4096種顏色
????????????????????????????????????????????????????????????%?這里是計算目標圖像的每一個像素點的顏色在直方圖的坐標
????????%?計算得到坐標是0~4095,因此數組系數要+1
????????TargetHistogram(q_temp+1)=?TargetHistogram(q_temp+1)+weight(ij);????????
????????????????????????????????????????????????????????????%?統計目標的特征直方圖中每一種顏色的權重
????????????????????????????????????????????????????????????%?目標圖像每一個像素點都會對應直方圖中一種顏色
????????????????????????????????????????????????????????????%?之前根據距離目標中心的距離也計算了每個像素點的權重的
????end
end
TargetHistogram?=?TargetHistogram*C;??
rect(3)=ceil(rect(3)); %?rect(3)是目標圖像的寬度?ceil是上取整
rect(4)=ceil(rect(4));??%?rect(4)是目標圖像的高度
bar(TargetHistogram0.5);
title(‘目標特征直方圖‘);
?
%%?讀取序列圖像開始跟蹤
ImageSequence =?dir(‘*.jpg‘);
SequenceLength =?length(ImageSequence);
%?%?驗證序列順序是否正常
%?for?l=1:SequenceLength
%???????ImageSequence(l).name
%?end
IterationMaxNum?=?2;
for?l=1:SequenceLength
CurrentImage =?imread(ImageSequence(l).name);????
????IterationNum =?0;
????Y???????????????=?[22];
????while(?(Y(1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.CA....?????41113??2019-03-21?14:31??Meanshift算法MATLAB實現\0001.jpg
????.CA....?????38659??2019-03-21?14:31??Meanshift算法MATLAB實現\0002.jpg
????.CA....?????40697??2019-03-21?14:31??Meanshift算法MATLAB實現\0003.jpg
????.CA....?????40547??2019-03-21?14:31??Meanshift算法MATLAB實現\0004.jpg
????.CA....?????43372??2019-03-21?14:31??Meanshift算法MATLAB實現\0005.jpg
????.CA....?????40458??2019-03-21?14:31??Meanshift算法MATLAB實現\0006.jpg
????.CA....?????41791??2019-03-21?14:31??Meanshift算法MATLAB實現\0007.jpg
????.CA....?????41443??2019-03-21?14:31??Meanshift算法MATLAB實現\0008.jpg
????.CA....?????45220??2019-03-21?14:31??Meanshift算法MATLAB實現\0009.jpg
????.CA....?????41704??2019-03-21?14:31??Meanshift算法MATLAB實現\0010.jpg
????.CA....?????43879??2019-03-21?14:31??Meanshift算法MATLAB實現\0011.jpg
????.CA....?????43445??2019-03-21?14:31??Meanshift算法MATLAB實現\0012.jpg
????.CA....?????46029??2019-03-21?14:31??Meanshift算法MATLAB實現\0013.jpg
????.CA....?????42999??2019-03-21?14:31??Meanshift算法MATLAB實現\0014.jpg
????.CA....?????43017??2019-03-21?14:31??Meanshift算法MATLAB實現\0015.jpg
????.CA....?????39847??2019-03-21?14:31??Meanshift算法MATLAB實現\0016.jpg
????.CA....?????45106??2019-03-21?14:31??Meanshift算法MATLAB實現\0017.jpg
????.CA....?????42073??2019-03-21?14:31??Meanshift算法MATLAB實現\0018.jpg
????.CA....?????42476??2019-03-21?14:31??Meanshift算法MATLAB實現\0019.jpg
????.CA....?????42073??2019-03-21?14:31??Meanshift算法MATLAB實現\0020.jpg
????.CA....?????46296??2019-03-21?14:31??Meanshift算法MATLAB實現\0021.jpg
????.CA....?????44755??2019-03-21?14:31??Meanshift算法MATLAB實現\0022.jpg
????.CA....?????47372??2019-03-21?14:31??Meanshift算法MATLAB實現\0023.jpg
????.CA....?????47389??2019-03-21?14:31??Meanshift算法MATLAB實現\0024.jpg
????.CA....?????49380??2019-03-21?14:31??Meanshift算法MATLAB實現\0025.jpg
????.CA....?????46482??2019-03-21?14:31??Meanshift算法MATLAB實現\0026.jpg
????.CA....?????47421??2019-03-21?14:31??Meanshift算法MATLAB實現\0027.jpg
????.CA....?????46129??2019-03-21?14:31??Meanshift算法MATLAB實現\0028.jpg
????.CA....?????51013??2019-03-21?14:31??Meanshift算法MATLAB實現\0029.jpg
????.CA....?????48452??2019-03-21?14:31??Meanshift算法MATLAB實現\0030.jpg
............此處省略175個文件信息
評論
共有 條評論