资源简介
用均值漂移算法实现目标跟踪,均值漂移算法是一种基于核函数估计的无参数算法,它无需估计整个区间的概率密度也无需知道区间内样本的分布情况,由于其具有较低的计算量,且计算速度快,抗干扰能力强在解决计算机视觉领域尤其是目标跟踪方面表现出了良好的鲁棒性和实时性。
代码片段和文件信息
%配套论文《基于MeanShift算法的目标跟踪算法研究》 P28-29
function [] = select()
close all;
clear all;
%%%%%%%%%%%%%%%%%%根据一幅目标全可见的图像圈定跟踪目标%%%%%%%%%%%%%%%%%%%%%%%
I=imread(‘result72.jpg‘);
figure(1);
imshow(I);
[temprect]=imcrop(I);
[abc]=size(temp); %a:rowb:col
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算目标图像的权值矩阵%%%%%%%%%%%%%%%%%%%%%%%
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(ab);%权值矩阵
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(ij)=1-dist/h; %epanechnikov profile
end
end
C=1/sum(sum(m_wei));%归一化系数
%计算目标权值直方图qu
%hist1=C*wei_hist(tempm_weiab);%target model
hist1=zeros(14096);
for i=1:a
for j=1:b
%rgb颜色空间量化为16*16*16 bins
q_r=fix(double(temp(ij1))/16); %fix为趋近0取整函数
q_g=fix(double(temp(ij2))/16);
q_b=fix(double(temp(ij3))/16);
q_temp=q_r*256+q_g*16+q_b; %设置每个像素点红色、绿色、蓝色分量所占比重
hist1(q_temp+1)= hist1(q_temp+1)+m_wei(ij); %计算直方图统计中每个像素点占的权重
end
end
hist1=hist1*C;
rect(3)=ceil(rect(3));
rect(4)=ceil(rect(4));
%%%%%%%%%%%%%%%%%%%%%%%%%读取序列图像
myfile=dir(‘D:\matlab7\work\mean shift\image\*.jpg‘);
lengthfile=length(myfile);
for l=1:lengthfile
Im=imread(myfile(l).name);
num=0;
Y=[22];
%%%%%%%mean shift迭代
while((Y(1)^2+Y(2)^2>0.5)&num<20) %迭代条件
num=num+1;
temp1=imcrop(Imrect);
%计算侯选区域直方图
%hist2=C*wei_hist(temp1m_weiab);%target candidates pu
hist2=zeros(14096);
for i=1:a
for j=1:b
q_r=fix(double(temp1(ij1))/16);
q_g=fix(double(temp1(ij2))/16);
q_b=fix(double(temp1(ij3))/16);
q_temp1(ij)=q_r*256+q_g*16+q_b;
hist2(q_temp1(ij)+1)= hist2(q_temp1(ij)+1)+m_wei(ij);
end
end
hist2=hist2*C;
figure(2);
subplot(121);
plot(hist2);
hold on;
w=zeros(14096);
for i=1:4096
if(hist2(i)~=0) %不等于
w(i)=sqrt(hist1(i)/hist2(i));
else
w(i)=0;
end
end
%变量初始化
sum_w=0;
xw=[00];
for i=1:a;
for j=1:b
sum_w=sum_w+w(uint32(q_temp1(ij))+1);
xw=xw+w(uint32(q_temp1(ij))+1)*[i-y(1)-0.5j-y(2)-0.5];
end
end
Y=xw/sum_w;
%中心点位置更新
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);
%%%显示跟踪结果%%%
subplot(122);
imshow(uint8(Im));
title(‘目标跟踪结果及其运动轨迹‘);
hold on;
plot([v1v1+v3][v2v2][v1v1][v2v2+v4][v1v1+v3][v2+v
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 53586 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result100.jpg
文件 53682 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result101.jpg
文件 51480 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result73.jpg
文件 52668 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result74.jpg
文件 53206 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result75.jpg
文件 53078 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result76.jpg
文件 53577 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result77.jpg
文件 54160 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result78.jpg
文件 53735 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result79.jpg
文件 53948 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result80.jpg
文件 54540 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result81.jpg
文件 54054 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result82.jpg
文件 52994 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result83.jpg
文件 49604 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result84.jpg
文件 50696 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result85.jpg
文件 51384 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result86.jpg
文件 52733 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result87.jpg
文件 52758 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result88.jpg
文件 53308 2014-06-11 23:19 Meanshift\Meanshift\matlab\image\result89.jpg
文件 53722 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result90.jpg
文件 53366 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result91.jpg
文件 53468 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result92.jpg
文件 54035 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result93.jpg
文件 52586 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result94.jpg
文件 52189 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result95.jpg
文件 49294 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result96.jpg
文件 51386 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result97.jpg
文件 52663 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result98.jpg
文件 53380 2014-06-11 23:14 Meanshift\Meanshift\matlab\image\result99.jpg
文件 3310 2014-06-12 11:29 Meanshift\Meanshift\matlab\meanshift.m
............此处省略37个文件信息
- 上一篇:销售系统web
- 下一篇:《深入浅出Node.js》(高清版)
相关资源
- deep_sort_yolov3利用深度学习的多目标跟
- SRDCF运行结果文件
- DSST目标跟踪算法
- 基于粒子滤波的多目标跟踪程序
- 卡尔曼目标跟踪
- 随机有限集理论
- 相关滤波目标跟踪算法以及评价
- 多目标跟踪源码
- 雷达目标跟踪
- camshift 目标跟踪程序
- 视频目标跟踪
- openc基于SIFT和Surf特征的目标跟踪
- SRDCFwithADMM
- MHT算法及其在多传感器跟踪方面的问
- KCF视频目标跟踪OPENCV+VS+WIN
- 基本opencv的粒子滤波目标跟踪
- OpenCV上目标跟踪和行人跟踪需要的视
- opencv 实现 meanshift 的目标跟踪
-
Online ob
ject Tracking:A Benchmark_CVPR13翻 - opencv运动目标跟踪
- 基于粒子滤波的目标跟踪程序功能全
- 二维Kalman滤波
- RT-MDNet视频目标跟踪论文官方预训练网
- 基于ViBe+Kalman的目标跟踪
- 基于SIFT的目标跟踪源码
- 多目标实时跟踪程序
- 多目标跟踪vs+opencv
- meanshift+kalman目标跟踪
- 有关多目标跟踪的PHD滤波的一些资料
- 经典目标跟踪论文KCF的ppt
评论
共有 条评论