本人毕业设计做的是红外运动识别系统,通过Matlab做了仿真。其中视频资源来自优酷。毕设论文随后上传。以下是matlab代码
clear all
%创建必要的视频处理对象
videofile = 'people_net.mp4';
%获取视频帧像素
info = VideoReader(videofile);
cols=info.Width;
rows=info.Height;
%创建视频系统对象,读取视频文件
hReader = vision.VideoFileReader(videofile, 'ImageColorSpace', 'RGB',...
'VideoOutputDataType', 'single');
hFlow = vision.OpticalFlow( 'OutputValue', 'Horizontal and vertical components in complex form', ...
'ReferenceFrameDelay', 3, 'Method','Horn-Schunck');
%创建两个均值对象,用于分析光流矢量
hMean1 = vision.Mean;
hMean2 = vision.Mean('RunningMean', true); %累计平均值,每次输入一个数据,计算所有历史输入的均值
%创建中值滤波对象,用来移除对象分割产生的斑点噪声
hFilter2 = vision.MedianFilter;
hFilter1 = vision.MedianFilter([3 3]);
%创建形态学闭运算,填充分割后的目标空洞
hClose = vision.MorphologicalClose('Neighborhood', strel('disk',15));%30正好,有点大
hBlob = vision.BlobAnalysis( 'CentroidOutputPort', false, 'AreaOutputPort', true, ... %此参数为最佳无需改动
'BoundingBoxOutputPort', true,'Peri