资源简介
基于matlab的运动目标检测程序采用帧差法自带视频源。

代码片段和文件信息
clear
clc
new_floder=‘C:\Users\yuanzhao\Desktop\视频帧‘;
mkdir(new_floder);
obj=VideoReader(‘道路监控视频 - 百度.mp4‘);
numframes=obj.NumberOfframes;
for i=1:166
frame=read(obji);
imwrite(framestrcat( [ ‘C:\Users\yuanzhao\Desktop\视频帧\car (‘int2str(i)‘).jpg‘]));
end%% 从视频中提出每一帧图像
nStar = 1;
nNUM = 166;
n=1;
Background = double( rgb2gray(imread( [ ‘C:\Users\yuanzhao\Desktop\视频帧\car (‘int2str(nStar)‘).jpg‘]) ));%第一帧当做初始背景
% 背景更新过程
for k = nStar+1 :10: nNUM
CurrentImage =double(rgb2gray(imread( [ ‘C:\Users\yuanzhao\Desktop\视频帧\car (‘int2str(k)‘).jpg‘] ))); % 当前帧
FormerImage =double(rgb2gray(imread( [ ‘C:\Users\yuanzhao\Desktop\视频帧\car (‘int2str(k-1)‘).jpg‘] ))); % 前一帧
ID =uint8(abs( CurrentImage - FormerImage )); % 帧间差分
% 选择阈值
T=yuzhi(ID); %迭代法计算二值化阈值,比较耗时
BW = im2bw(IDT/255);
% 更新背景
alpha = 0.1; %背景更新的速度
CurrentBack = Background.*BW + ( alpha.* CurrentImage + ( 1-alpha ).* Background ).*( 1 -BW );%前后两帧有变化的区域不更新,无变化的区域更新到背景中去
Background = CurrentBack;%背景更新完毕
Cut=abs(CurrentImage-Background);%前景与背景差分
Cut=uint8(Cut);
Tcut=yuzhi(Cut);%迭代法计算二值化阈值,比较耗时
BWCut=im2bw(CutTcut/255);%差分后的图像进行二值化
SE=[1 1 1;1 1 1;1 1 1];%结构元素
BWCutero=imerode(BWCutSE);%对二值图像进行腐蚀,以消除微小变动的区域
BWCuterodil = bwmorph(BWCutero‘dilate‘3);%膨胀
figure(n)imshow(BWCuterodil)title(‘差分后的二值化图像‘)
n=n+1;
figure(n)imshow(imread( [ ‘C:\Users\yuanzhao\Desktop\视频帧\car (‘int2str(k)‘).jpg‘] ))
n=n+1;
[Lnm] = bwlabel(BWCuterodil8);%找出图像中的八连通区域,视为车辆所在的区域
for i = 1:nm
[rc] = find(L == i);
left= min(c);
right= max(c);
top= min(r);
buttom= max(r);
width=right - left + 1;
height = buttom - top + 1;
rectangle(‘Position‘[lefttopwidthheight]‘EdgeColor‘‘r‘);%对车辆用矩形标记
pause(0.01);
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 31119 2018-12-05 19:35 视频帧\car (1).jpg
文件 30387 2018-12-05 19:35 视频帧\car (10).jpg
文件 32589 2018-12-05 19:35 视频帧\car (100).jpg
文件 32582 2018-12-05 19:35 视频帧\car (101).jpg
文件 32494 2018-12-05 19:35 视频帧\car (102).jpg
文件 32341 2018-12-05 19:35 视频帧\car (103).jpg
文件 32234 2018-12-05 19:35 视频帧\car (104).jpg
文件 32173 2018-12-05 19:35 视频帧\car (105).jpg
文件 32112 2018-12-05 19:35 视频帧\car (106).jpg
文件 32083 2018-12-05 19:35 视频帧\car (107).jpg
文件 31868 2018-12-05 19:35 视频帧\car (108).jpg
文件 31796 2018-12-05 19:35 视频帧\car (109).jpg
文件 30348 2018-12-05 19:35 视频帧\car (11).jpg
文件 31599 2018-12-05 19:35 视频帧\car (110).jpg
文件 31529 2018-12-05 19:35 视频帧\car (111).jpg
文件 31465 2018-12-05 19:35 视频帧\car (112).jpg
文件 31495 2018-12-05 19:35 视频帧\car (113).jpg
文件 31392 2018-12-05 19:35 视频帧\car (114).jpg
文件 31432 2018-12-05 19:35 视频帧\car (115).jpg
文件 31446 2018-12-05 19:35 视频帧\car (116).jpg
文件 31546 2018-12-05 19:35 视频帧\car (117).jpg
文件 31537 2018-12-05 19:35 视频帧\car (118).jpg
文件 31584 2018-12-05 19:35 视频帧\car (119).jpg
文件 30334 2018-12-05 19:35 视频帧\car (12).jpg
文件 31678 2018-12-05 19:35 视频帧\car (120).jpg
文件 31668 2018-12-05 19:35 视频帧\car (121).jpg
文件 31670 2018-12-05 19:35 视频帧\car (122).jpg
文件 32035 2018-12-05 19:35 视频帧\car (123).jpg
文件 32162 2018-12-05 19:35 视频帧\car (124).jpg
文件 32287 2018-12-05 19:35 视频帧\car (125).jpg
............此处省略144个文件信息
- 上一篇:matlab算法大全
- 下一篇:MATLAB彩色图像处理
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论