-
大小: 77.87MB文件类型: .zip金币: 2下载: 0 次发布日期: 2024-02-01
- 语言: Matlab
- 标签: matlab_2019 HIT weihai
资源简介
哈尔滨工业大学(威海)数字图像处理课程设计,在matlab2019平台上搭建的程序。设计了matlab_GUI界面便于用户操作,每一个按键对应一种程序,可以参考。压缩包里还有一些自己收藏的运动视频可以后续检测用。运行程序时需要更改电脑摄像头参数,值得注意。
代码片段和文件信息
clc;clear all;
close all;
%%
N=5; %初始化背景所需要的帧数
mov = VideoReader(‘sample.avi‘); %读取AVI视频文件
vidframes=read(mov);
frameQTY = get(mov ‘numberOfframes‘); %获取视频的所有帧数
tmFr = vidframes(: : : 1); %变成灰度图
[MRMCDim] = size(tmFr); %读出二值图像的大小
% 计算背景图片
Imzero = zeros(MRMC3); % 背景初始化 生成MR×MC×3全零阵或数组
% 初始化Kalman滤波器
R=[[0.28450.0045]‘[0.00450.0455]‘]; %观察协方差矩阵
H=[[10]‘[01]‘[00]‘[00]‘]; %测量矩阵
Q=0.01*eye(4); %系统协方差矩阵 eye生成单位阵,例 s=eye(n) 返回n*n单位矩阵
P = 100*eye(4); %上一时刻的预测估计协方差矩阵
dt=10;
A=[[1000]‘[0100]‘[dt010]‘[0dt01]‘]; %从时刻k到k+1的状态xx(k-1:)的跃迁矩阵
g = 1; % pixels^2/time step
Bu = [000g]‘; %外界高斯白噪声,由前一帧预测当前帧的预测值时,Bu影响预测值的幅度.
kfinit=0;
x=zeros(1004);
% 循环所有图片loop over all video
for i = 1 : frameQTY
% load image
Im = vidframes(: : : i);
imshow(Im);
if(i <= N)
Imzero = Imzero + double(Im);
else
%开始运动检测,首先计算出背景
if(i == N+1)
Imback = Imzero/N;
else
f1 = double(vidframes(: : : i-1));
Imzero = Imzero + double(Im) - f1; %背景更新
Imback = Imzero/N;
end
Imwork = double(Im);
%extract center
[cc(i)cr(i)whflag]=extractball(ImworkImbacki);
if flag==0
continue
end
hold on
% center 的实际轨迹
plot(cc(i)cr(i)‘g.‘) % 球的质心(cc(i)cr(i))以绿点表示
%从点(cc(i)-radiuscr(i)-radius)开始绘制一个矩形,宽度为2*radius 长度为2*radius.其质心(cc(i)cr(i))
rectangle(‘Position‘[cc(i)-w/2cr(i)-h/2wh] ‘edgecolor‘‘green‘); %rectangle函数创建一个二维对象,从点(xy)开始绘制一个宽w高h的矩形,对坐标轴数据单元指定值。
% 更新kalman滤波器
if kfinit==0
xp = [MC/2MR/200]‘ ; %初始的预测状态
else
xp=A*x(i-1:)‘ + Bu ; %预测未来状态
end
kfinit=1;
PP = A*P*A‘ + Q ; %预测估计协方差矩阵
K = PP*H‘*inv(H*PP*H‘+R) %增益 Inv 矩阵求逆
x(i:) = (xp + K*([cc(i)cr(i)]‘ - H*xp))‘; %修正状态即更新后的状态。 x(n:); 获取矩阵的第n行;x(:n); 获取矩阵的第n列
P = (eye(4)-K*H)*PP ; %修正误差即更新后的协方差
% kalman预测的区域
hold on
plot(x(i1)x(i2)‘r.‘) %预测的运动目标质心(x(i1)x(i2))以红点表示
rectangle(‘Position‘[x(i1)-w/2x(i2)-h/2wh] ‘edgecolor‘‘red‘);
pause(0.1);
end
end
%% 关闭
%close all;
xp=cc;
yp=cr;
xf=x(:1);
yf=x(:2);
xp(xp==0)=[];
yp(yp==0)=[];
xf(xf==0)=[];
yf(yf==0)=[];
plot(xfyf‘g--‘);
hold on
plot(xpyp‘r:‘);
hold on
legend(‘物体实际运动‘‘卡尔曼滤波后曲线‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-16 11:06 matlab程序\
文件 3040 2019-07-09 13:38 matlab程序\Detect_Tracking.m
文件 1928 2019-07-09 13:40 matlab程序\extractball.m
文件 44951 2019-07-16 09:58 matlab程序\Moving_target.fig
文件 14064 2019-07-16 09:58 matlab程序\Moving_target.m
文件 1945 2019-07-04 09:34 matlab程序\yuandian.m
文件 621 2019-07-04 15:13 matlab程序\zhixin.m
文件 1144320 2019-07-16 11:02 数字图像处理课程设计报告(运动目标检测).doc
目录 0 2019-07-16 11:07 视频\
目录 0 2019-07-16 11:07 视频\run\
文件 3269120 2005-04-11 19:03 视频\run\daria_run.avi
文件 3191296 2005-04-11 18:32 视频\run\denis_run.avi
文件 5991424 2005-07-31 10:37 视频\run\eli_run.avi
文件 2802688 2005-04-11 19:09 视频\run\ido_run.avi
文件 4358144 2005-04-11 19:11 视频\run\ira_run.avi
文件 4124672 2005-07-31 10:47 视频\run\lena_run1.avi
文件 4435968 2005-07-31 10:47 视频\run\lena_run2.avi
文件 2802688 2005-04-11 19:41 视频\run\lyova_run.avi
文件 5058048 2005-07-31 10:47 视频\run\moshe_run.avi
文件 5291520 2005-07-31 10:47 视频\run\shahar_run.avi
目录 0 2019-07-16 11:07 视频\walk\
文件 6536192 2005-04-11 19:03 视频\walk\daria_walk.avi
文件 5291520 2005-04-11 19:05 视频\walk\denis_walk.avi
文件 7936512 2005-07-31 10:47 视频\walk\eli_walk.avi
文件 3346944 2005-04-11 19:09 视频\walk\ido_walk.avi
文件 6847488 2005-04-11 19:11 视频\walk\ira_walk.avi
文件 9336320 2005-08-01 10:44 视频\walk\lena_walk1.avi
文件 8792064 2005-07-31 10:49 视频\walk\lena_walk2.avi
文件 3891712 2005-04-11 19:42 视频\walk\lyova_walk.avi
文件 8714240 2005-07-31 10:50 视频\walk\moshe_walk.avi
文件 9414144 2005-07-31 10:50 视频\walk\shahar_walk.avi
............此处省略0个文件信息
相关资源
- matlab 2019a中文版文档清晰pdf
- Nonlinear control systems using MATLAB(2019)
- 基于哈希的图像检索LSH,ITQmatlab代码
- Wagner Whitin算法的Matlab实现附有算例
- Lipschitz非线性系统观测器设计新方法
- MatlabR2019a安装破解教程.zip
- MatlabR2019A.7z
- MatlabR2019A.txt
- lipschitz指数matlab程序91016
- 2019美赛B题代码
- MATLAB 2019A官方文档及其中文翻译.rar
- matlab-white-noise-- 用MATLAB产生高斯白噪
- Bayer2RGB 用Matlab写的Bayer插值与白平衡
- ReferenceWhite
- Matlab 2019a crack
- 用于读取麻生理工学院心电图MIT-HIT文
- Lipschitz指数matlab程序
评论
共有 条评论