資源簡介
在matlab中實現(xiàn)的使用meanshift算法的視頻目標(biāo)跟蹤程序,可直接運行

代碼片段和文件信息
%clc
clear?all
%?*******************************************************
%
%?文件名:?meanshift_tracking.m
%?功??能:?基于mean?shift的目標(biāo)跟蹤??
%
%?*******************************************************
%?讀入avi文件,存入結(jié)構(gòu)體M中?
%?輸入視頻文件完整的路徑
%Mov?=?VideoReader(‘F:\GraduateProject_MeanShift\MOV006.avi‘);
Mov?=?VideoReader(‘F:\bishe\MOVSJ1.mp4‘);
%?目前matlab中aviread函數(shù)支持的編碼方式有:‘Indeo3‘??‘Indeo5‘??‘Cinepak‘??‘MSVC‘??‘RLE‘???‘None‘
%?Read?in?all?video?frames.
Movframes?=?read?(Mov);
%?Get?the?number?of?frames.?得到視頻序列幀數(shù)
?numframes?=?get(Mov?‘NumberOfframes‘);
?
%?Create?a?MATLAB?movie?struct?from?the?video?frames.
for?k?=?1?:?numframes
?????mov(k).cdata?=?Movframes(:::k);
?????mov(k).colormap?=?[];
end
%?提取第一幀圖像
frames={mov.cdata};
%?定義目標(biāo)區(qū)域
%?-----------------------------------------
[?cmin?cmax?rmin?rmax?]?=?select(?frames{1}?);
center(11)=floor((rmin+rmax+1)/2);?%?計算目標(biāo)窗口的中心?y?(表示行)
center(12)=floor((cmin+cmax+1)/2);?%???????????????????x?(表示列)
w_halfsize(1)?=?round(abs(rmax?-?rmin)/2);??%?窗口高度一半??
w_halfsize(2)?=?round(abs(cmax?-?cmin)/2);??%?窗口寬度一半
q_u=rgbPDF(double(frames{1})centerw_halfsize);?%?得到目標(biāo)窗口的直方圖
set(gcf‘DoubleBuffer‘‘on‘);?????????????????%?設(shè)置雙緩沖防止屏幕閃爍
figure(1);hold?on;
%?下面開始跟蹤
for?i?=?2:numframes
???
????%?mean?shift跟蹤算法
????[centerrminrmaxcmincmax]=rgbTracking(double(frames{i})centerw_halfsizeq_u);
????%?生成跟蹤結(jié)果
????trackim=frames{i};
????for?r=?rmin:rmax
????????trackim(r?cmin:)?=?255;
????????trackim(r?cmax:)?=?255;
????end
????for?c=?cmin:cmax
????????trackim(rmin?c:)?=?255;
????????trackim(rmax?c:)?=?255;
????end
????% 動態(tài)顯示跟蹤結(jié)果
????imshow(trackim);
???%?figure;
????title([num2str(i)‘/‘num2str(numframes)]);
????drawnow;
????%pause(1.5);
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1945??2017-05-12?01:33??meanshift\meanshift_tracking.m
?????文件???????1458??2012-05-16?23:02??meanshift\rgbPDF.m
?????文件???????3348??2012-06-13?14:44??meanshift\rgbTracking.m
?????文件????????709??2017-05-25?00:32??meanshift\select.m
?????目錄??????????0??2017-05-25?09:29??meanshift
-----------?---------??----------?-----??----
?????????????????7460????????????????????5
評論
共有 條評論