資源簡介
幀差法 matlab7.1 視頻跟蹤 親測可運(yùn)行,不能運(yùn)行就是你matlab沒配置對
代碼片段和文件信息
mov=aviread(‘walk.avi‘);?%讀取avi視頻
fnum=size(mov2);%獲取圖像矩陣列數(shù)
aviobj?=?avifile(‘result.avi‘);?%創(chuàng)建名稱為result的avi文件
%幀間差分法
for?i=2:fnum-1
????x=mov(i-1).cdata;%mov包含兩個(gè)部分:視頻數(shù)據(jù)cdata和調(diào)色板colormap?
????y=mov(i).cdata;?%將i-1?i?i+1視頻數(shù)據(jù)分別賦給x?y?z
????z=mov(i+1).cdata;
????
????????xg=rgb2gray(x);%轉(zhuǎn)灰度圖像
????????xgm=medfilt2(xg);%medfilt2(Amn)?進(jìn)行m*n中值濾波
????????yg=rgb2gray(y);
????????ygm=medfilt2(yg);
????????
????????zg=rgb2gray(z);
????????zgm=medfilt2(zg);
????????
????????%d1=ygm-xgm;
????????%d2=zgm-ygm;
????????
????????xgmd=im2double(xgm);%強(qiáng)制數(shù)據(jù)轉(zhuǎn)換為double(圖像默認(rèn)是unit8或bool型)
????????ygmd=im2double(ygm);
????????zgmd=im2double(zgm);
???????
????????d1=ygmd-xgmd;%差分1
????????d2=zgmd-ygmd;%差分2
????????
????????t=20/256;?%閾值?除以256轉(zhuǎn)換為double
????????d1p=find(abs(d1)>=t);%通過find函數(shù)找到d1中灰度值>=t的像素坐標(biāo)
????????d2p=find(abs(d2)>=t);
????????d1(d1p)=255;%d1二值化后灰度值為255的部分
????????d2(d2p)=255;
????????d1p=find(abs(d1) ????????d2p=find(abs(d2)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????1480??2015-01-11?15:16??chafen.m
?????文件??????638976??2005-03-14?13:59??walk.avi
評論
共有 條評論