MeanShift運(yùn)動目標(biāo)跟蹤-matlab程序.docx_第1頁
MeanShift運(yùn)動目標(biāo)跟蹤-matlab程序.docx_第2頁
MeanShift運(yùn)動目標(biāo)跟蹤-matlab程序.docx_第3頁
MeanShift運(yùn)動目標(biāo)跟蹤-matlab程序.docx_第4頁
MeanShift運(yùn)動目標(biāo)跟蹤-matlab程序.docx_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

MeanShift運(yùn)動目標(biāo)跟蹤 matlab程序思路簡介:1.截取跟蹤目標(biāo)矩陣rect2.求取跟蹤目標(biāo)的加權(quán)直方圖hist13.讀取視頻序列中的一幀, 先隨機(jī)取一塊與rect等大的矩形,計(jì)算加權(quán)直方圖hist2。4.計(jì)算兩者比重函數(shù),如果后者差距過大, 更新新的矩陣中心Y,進(jìn)行迭代(MeanShift是一種變步長可以迅速接近概率密度峰值的方法),直至一定條件后停止。源程序(參考過其他程序):plainview plaincopy1. function = select()close all;clear all;%根據(jù)一幅目標(biāo)全可見的圖像圈定跟蹤目標(biāo)%I=imread(E:數(shù)字圖像處理6218.bmp);figure(1);imshow(I);temp,rect=imcrop(I);a,b,c=size(temp);%計(jì)算目標(biāo)圖像的權(quán)值矩陣%y(1)=a/2;y(2)=b/2;tic_x=rect(1)+rect(3)/2;tic_y=rect(2)+rect(4)/2;m_wei=zeros(a,b);%權(quán)值矩陣h=y(1)2+y(2)2 ;%帶寬for i=1:a for j=1:b dist=(i-y(1)2+(j-y(2)2; m_wei(i,j)=1-dist/h; %epanechnikov profile endendC=1/sum(sum(m_wei);%歸一化系數(shù)%計(jì)算目標(biāo)權(quán)值直方圖qu%hist1=C*wei_hist(temp,m_wei,a,b);%target modelhist1=zeros(1,a*b);for i=1:a for j=1:b %rgb顏色空間量化為16*16*16 bins q_r=fix(double(temp(i,j,1)/16); %fix為趨近0取整函數(shù) q_g=fix(double(temp(i,j,2)/16); q_b=fix(double(temp(i,j,3)/16); q_temp=q_r*256+q_g*16+q_b; %設(shè)置每個(gè)像素點(diǎn)紅色、綠色、藍(lán)色分量所占比重 hist1(q_temp+1)= hist1(q_temp+1)+m_wei(i,j); %計(jì)算直方圖統(tǒng)計(jì)中每個(gè)像素點(diǎn)占的權(quán)重 endendhist1=hist1*C;rect(3)=ceil(rect(3);rect(4)=ceil(rect(4);%讀取序列圖像myfile=dir(*.bmp);lengthfile=length(myfile);for l=1:lengthfile Im=imread(myfile(l).name); num=0; Y=2,2; %mean shift迭代 while(Y(1)2+Y(2)20.5)&num20) %迭代條件 num=num+1; temp1=imcrop(Im,rect); %計(jì)算侯選區(qū)域直方圖 %hist2=C*wei_hist(temp1,m_wei,a,b);%target candidates pu hist2=zeros(1,a*b); for i=1:a for j=1:b q_r=fix(double(temp1(i,j,1)/16); q_g=fix(double(temp1(i,j,2)/16); q_b=fix(double(temp1(i,j,3)/16); q_temp1(i,j)=q_r*256+q_g*16+q_b; hist2(q_temp1(i,j)+1)= hist2(q_temp1(i,j)+1)+m_wei(i,j); end end hist2=hist2*C; figure(2); subplot(1,2,1); plot(hist2); hold on; w=zeros(1,a*b); for i=1:a*b if(hist2(i)=0) w(i)=sqrt(hist1(i)/hist2(i); else w(i)=0; end end %變量初始化 sum_w=0; xw=0,0; for i=1:a; for j=1:b sum_w=sum_w+w(uint32(q_temp1(i,j)+1); xw=xw+w(uint32(q_temp1(i,j)+1)*i-y(1)-0.5,j-y(2)-0.5; end end Y=xw/sum_w; %中心點(diǎn)位置更新 rect(1)=rect(1)+Y(2); rect(2)=rect(2)+Y(1); end%跟蹤軌跡矩陣% tic_x=tic_x;rect(1)+rect(3)/2; tic_y=tic_y;rect(2)+rect(4)/2; v1=rect(1); v2=rect(2); v3=rect(3); v4=rect(4); %顯示跟蹤結(jié)果% subplot(1,2,2); imshow(uint8(Im); title(目標(biāo)跟蹤結(jié)果及其運(yùn)動軌跡); hold on; plot(v1,v1+v3,v2,v2,v1,v1,v2,v2+v4,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論