MeanShift運動目標跟蹤matlab程序_第1頁
MeanShift運動目標跟蹤matlab程序_第2頁
MeanShift運動目標跟蹤matlab程序_第3頁
MeanShift運動目標跟蹤matlab程序_第4頁
MeanShift運動目標跟蹤matlab程序_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MeanShift運動目標跟蹤 matlab 程序思路簡介:1 .截取跟蹤目標矩陣rect2 .求取跟蹤目標的加權直方圖histl3 .讀取視頻序列中的一幀,先隨機取一塊與rect等大的矩形,計算加權直方圖hist2。4 .計算兩者比重函數,如果后者差距過大,更新新的矩陣中心 Y,進行迭代(MeanShift是一種變步長可以迅速接近概率密度峰值的方法),直至一定條件后停止。源程序(參考過其他程序)plain view plaincopyfunction = select() close all;clear all;%根據一幅目標全可見的圖像圈定跟蹤目標%數字圖彳t處理6218.bmp'

2、);figure(1); imshow(I);temp,rect=imcrop(I); a,b,c=size(temp);%計算目標圖像的權值矩陣% 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);% 權值矩陣 h=y(1)A2+y(2)A2 ;% 帶寬for i=1:afor j=1:bdist=(i-y(1)A2+(j-y(2)A2;m_wei(i,j)=1-dist/h; %epanechnikov profileendendC=1/sum(sum(m_wei);% 歸一

3、化系數%計算目標權值直方圖qu%hist1=C*wei_hist(temp,m_wei,a,b);%target model hist1=zeros(1,a*b);for i=1:afor j=1:b%rgb顏色空間量化為 16*16*16 binsq r=fix(double(temp(i,j,1)/16);%fix 為趨近 0 取整函數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;%設置每個像素點紅色、綠色、藍色分量所占比重hist1(q_temp+1)= hi

4、st1(q_temp+1)+m_wei(i,j);%計算直方圖統計中每個像素點占的權重endendhist1=hist1*C;rect(3)=ceil(rect(3);rect(4)=ceil(rect(4);%讀取序列圖像my('*.bmp');length(myfile);for l=1:lengthfileIm=imread(myfile(l).name);num=0;Y=2,2;%mean shift 迭代while(Y(1)A2+Y(2)A2>0.5)&num<20)%迭代條件num=num+1;temp1=imcrop(Im,rect); |%計

5、算侯選區域直方圖%hist2=C*wei_hist(temp1,m_wei,a,b);%target candidates puhist2=zeros(1,a*b);for i=1:afor j=1:bq_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); endendhist2=hi

6、st2*C;figure(2);subplot(1,2,1);plot(hist2);hold on; |w=zeros(1,a*b);for i=1:a*bif(hist2(i)=0)w(i)=sqrt(hist1(i)/hist2(i);elsew(i)=0;endend%變量初始化sum_w=0;xw=0,0;for i=1:a;for j=1:bsum_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;endendY=xw/sum_w;%中心點位置更新rect(1)

7、=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);%顯示跟蹤結果%subplot(1,2,2);imshow(uint8(Im);title('目標跟蹤結果及其運動軌跡');hold on;plot(v1,v1+v3,v2,v2,v1,v1,v2,v2+v4,v1,v1+v3,v2+v4,v2+v4,v1+v3,v1+v3,v2, v2+v4,'LineWidth'2'Color','r');plot(tic_x,tic_y,'LineWidth',2,'Color','b'); end結果截圖:ZL,上 Figure 2File Edit View Insert Tools Desktop Window Help0

溫馨提示

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

評論

0/150

提交評論