clear,clc
%读入背景
Imzero = zeros(240,360,3);
Imzero=imread('background.jpg');
Imback=double(Imzero);
[MR,MC,Dim] = size(Imback);
%求出Vx 和 Vy
I0 = imread(strcat('man',int2str(0)) ,'jpg');
Imwork = double(I0);
[cc(1),cr(1),flag, stats,labeled,index] = extractman(Imwork,Imback,1);
I79 = imread(strcat('man',int2str(79)) ,'jpg');
Imwork = double(I79);
[cc(80),cr(80),flag, stats,labeled,index] = extractman(Imwork,Imback,80);
Sx = cc(1)-cc(80);
Sy = cr(1)-cr(80);
Vx = Sx/80;
Vy = Sy/80;
% Kalman filter initialization
dt=1;
A=[[1,0,0,0]',[0,1,0,0]',[-Vx*dt,0,1,0]',[0,-Vy*dt,0,1]'];
C=[[1,0]',[0,1]',[0,0]',[0,0]'];
Q=0.5*eye(4);
R=[[0.2845,0.0045]',[0.0045,0.0455]'];
x=zeros(80,4);
P = 80*eye(4);
I = eye(4);
firstinit=1;
% loop over all images
h = 1;
for i = 1 : 20
% 装入各帧
Im = imread(strcat('man',int2str(i*4-1)) ,'jpg');
if h > 0
figure(h);
clf;
end
imshow(Im)
Imwork = double(Im);
%目标检测
[cc(i),cr(i),flag, stats,labeled,index] = extractman(Imwork,Imback,i);
%判断是否提取到目标特征
if flag==0
continue
end
%绘制检测结果的矩形框
rectangle('Position', round(stats(index).BoundingBox),'EdgeColor','g');
% 卡尔曼滤波
if firstinit == 1;
xp = [280,145,0,0]';
fristinit = 0;
else
xp=A*x(i-1,:)';
end
PP = A*P*A'+Q;
K = PP*C'*inv(C*PP*C'+R);
x(i,:) = (xp + K*([cc(i),cr(i)]' - C*xp))';
x(i,:)
[cc(i),cr(i)]
P = (eye(4)-K*C)*PP;
%P = (I - K*C)*PP*(I - K*C)' + K*R*K';
%inv(P) = inv(PP) + C'*inv(R)*K;
%绘制跟踪矩形框
[row, col, v] = find(labeled == index);
width = abs(max(col)-min(col));
hight = abs(max(row)-min(row));
xdownleft = x(i,1)-width/2;
ydownleft = x(i,2)-hight/2;
hold on
if width > 0 && hight > 0
rectangle('Position',[xdownleft,ydownleft,width, hight],'EdgeColor', 'r');
%plot(x(i,1),x(i,2),'r*');
end
%各帧之间的延迟
pause(0.3)
end
%显示检测中心点的轨迹
figure
plot(cc,'r*')
hold on
plot(cr,'g*')
end
%显示跟踪中心点的轨迹
figure
plot(x(:,1),'rx')
hold on
plot(x(:,2),'gx')
end
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
kalman(人体跟踪).rar (83个子文件)
kalman(人体跟踪)
extractman.m 2KB
kalman.m 2KB
data
man39.jpeg 38KB
man48.jpeg 37KB
man23.jpeg 37KB
man75.jpeg 37KB
man6.jpeg 38KB
man30.jpeg 37KB
man54.jpeg 37KB
man2.jpeg 37KB
man16.jpeg 37KB
man4.jpeg 38KB
man64.jpeg 36KB
man78.jpeg 36KB
man62.jpeg 37KB
man49.jpeg 34KB
man33.jpeg 38KB
man59.jpeg 36KB
man18.jpeg 38KB
man69.jpeg 38KB
man8.jpeg 37KB
man57.jpeg 36KB
man5.jpeg 38KB
man44.jpeg 36KB
man20.jpeg 38KB
man19.jpeg 38KB
man14.jpeg 35KB
man21.jpeg 36KB
man58.jpeg 36KB
man34.jpeg 38KB
man27.jpeg 38KB
man13.jpeg 38KB
man50.jpeg 36KB
man56.jpeg 34KB
man42.jpeg 35KB
man53.jpeg 37KB
man74.jpeg 37KB
man79.jpeg 36KB
man26.jpeg 38KB
man43.jpeg 36KB
man15.jpeg 37KB
man41.jpeg 38KB
man36.jpeg 37KB
man35.jpeg 35KB
man71.jpeg 36KB
man24.jpeg 37KB
man3.jpeg 38KB
man29.jpeg 37KB
man68.jpeg 37KB
man46.jpeg 37KB
man11.jpeg 38KB
man0.jpeg 36KB
man25.jpeg 37KB
man1.jpeg 37KB
man45.jpeg 37KB
man73.jpeg 37KB
man60.jpeg 37KB
background.JPG 18KB
man7.jpeg 35KB
man10.jpeg 37KB
man22.jpeg 37KB
man52.jpeg 37KB
man47.jpeg 37KB
man51.jpeg 36KB
man17.jpeg 37KB
man66.jpeg 37KB
man67.jpeg 37KB
man76.jpeg 37KB
man31.jpeg 38KB
man55.jpeg 37KB
man38.jpeg 37KB
man9.jpeg 37KB
man40.jpeg 38KB
man70.jpeg 35KB
man12.jpeg 38KB
man63.jpeg 35KB
man37.jpeg 37KB
man77.jpeg 35KB
man72.jpeg 39KB
man61.jpeg 37KB
man28.jpeg 36KB
man65.jpeg 36KB
man32.jpeg 38KB
共 83 条
- 1
ypf50351989
- 粉丝: 1
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页