资源简介
在matlab中实现的使用meanshift算法的视频目标跟踪程序,可直接运行

代码片段和文件信息
%clc
clear all
% *******************************************************
%
% 文件名: meanshift_tracking.m
% 功 能: 基于mean shift的目标跟踪
%
% *******************************************************
% 读入avi文件,存入结构体M中
% 输入视频文件完整的路径
%Mov = VideoReader(‘F:\GraduateProject_MeanShift\MOV006.avi‘);
Mov = VideoReader(‘F:\bishe\MOVSJ1.mp4‘);
% 目前matlab中aviread函数支持的编码方式有:‘Indeo3‘ ‘Indeo5‘ ‘Cinepak‘ ‘MSVC‘ ‘RLE‘ ‘None‘
% Read in all video frames.
Movframes = read (Mov);
% Get the number of frames. 得到视频序列帧数
numframes = get(Mov ‘NumberOfframes‘);
% Create a MATLAB movie struct from the video frames.
for k = 1 : numframes
mov(k).cdata = Movframes(:::k);
mov(k).colormap = [];
end
% 提取第一帧图像
frames={mov.cdata};
% 定义目标区域
% -----------------------------------------
[ cmin cmax rmin rmax ] = select( frames{1} );
center(11)=floor((rmin+rmax+1)/2); % 计算目标窗口的中心 y (表示行)
center(12)=floor((cmin+cmax+1)/2); % x (表示列)
w_halfsize(1) = round(abs(rmax - rmin)/2); % 窗口高度一半
w_halfsize(2) = round(abs(cmax - cmin)/2); % 窗口宽度一半
q_u=rgbPDF(double(frames{1})centerw_halfsize); % 得到目标窗口的直方图
set(gcf‘DoubleBuffer‘‘on‘); % 设置双缓冲防止屏幕闪烁
figure(1);hold on;
% 下面开始跟踪
for i = 2:numframes
% mean shift跟踪算法
[centerrminrmaxcmincmax]=rgbTracking(double(frames{i})centerw_halfsizeq_u);
% 生成跟踪结果
trackim=frames{i};
for r= rmin:rmax
trackim(r cmin:) = 255;
trackim(r cmax:) = 255;
end
for c= cmin:cmax
trackim(rmin c:) = 255;
trackim(rmax c:) = 255;
end
% 动态显示跟踪结果
imshow(trackim);
% figure;
title([num2str(i)‘/‘num2str(numframes)]);
drawnow;
%pause(1.5);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1945 2017-05-12 01:33 meanshift\meanshift_tracking.m
文件 1458 2012-05-16 23:02 meanshift\rgbPDF.m
文件 3348 2012-06-13 14:44 meanshift\rgbTracking.m
文件 709 2017-05-25 00:32 meanshift\select.m
目录 0 2017-05-25 09:29 meanshift
----------- --------- ---------- ----- ----
7460 5
- 上一篇:一维热传导问题求解函数matlab
- 下一篇:实用MATLABfft程序
相关资源
- 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
评论
共有 条评论