【目标跟踪】基于Kalman滤波跟踪视频运动目标matlab代码

1 简介

在智能监控系统中,通过帧差法对运动物体的识别,定位,利用卡尔曼滤波算法对目标运动进行预测,跟踪,从而控制摄像头转动,跟踪目标物,使目标物体始终出现监控画面的中心.在此采用卡尔曼滤算法,进行目标运动的预估,利用Matlab对其仿真.仿真结果显示跟踪效果非常好,证明采用该算法来跟踪动目标物有效可行,具有一定的研究价值.​

2 部分代码

 

clear,clc

% 计算背景图像

Imzero = zeros(240,320,3);

for i = 1:5

Im{i} = double(imread(['DATA/',int2str(i),'.jpg']));

Imzero = Im{i}+Imzero;

end

Imback = Imzero/5;

[MR,MC,Dim] = size(Imback);

% Kalman滤波器初始化

R=[[0.2845,0.0045]',[0.0045,0.0455]'];

H=[[1,0]',[0,1]',[0,0]',[0,0]'];

Q=0.01*eye(4);

P = 100*eye(4);

dt=1;

A=[[1,0,0,0]',[0,1,0,0]',[dt,0,1,0]',[0,dt,0,1]'];

g = 6; 

Bu = [0,0,0,g]';

kfinit=0;

x=zeros(100,4);

% 循环遍历所有图像

for i = 1 : 60

  % 导入图像

  Im = (imread(['DATA/',int2str(i), '.jpg'])); 

  imshow(Im)

  imshow(Im)

  Imwork = double(Im);

  %提取球的质心坐标及半径

    end

      pause(0.3)

end

% 画出球横纵坐标的位置

  figure

  plot(cc,'r*')

  hold on

  plot(cr,'g*')

%噪声估计

  posn = [cc(55:60)',cr(55:60)'];

  mp = mean(posn);

  diffp = posn - ones(6,1)*mp;

Rnew = (diffp'*diffp)/5;

 

3 仿真结果

4 参考文献

[1]张长春, 黄英, & 杨刚. (2009). 卡尔曼滤波在跟踪运动目标中的应用及仿真. 现代电子技术(20), 54-56.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值