资源简介
针对智能交通系统中交通基础数据当前提取方式较匮乏的问题,提出了一种利用交通视频基于改进卡尔曼滤波的交通信息采集方法。首先,分析混合高斯模型在多车辆运动目标检测时易出现噪点、目标断裂、空洞等问题,提出了一种启发式改进方法;在获得检测结果的基础上,针对连续视频帧中多目标的确定问题,结合卡尔曼滤波和车辆运动特征,利用卡尔曼滤波对车辆位置进行最优估计,继而对前景目标进行启发式算法处理,提出了一种交通量实时检测方法;最后,实验结果表明文章方法能够有效改善多车辆目标检测中的噪声干扰和前景虚化问题。
代码片段和文件信息
% 创建系统对象,用于读入待处理视频 vision.VideoFileReader从文件中读取视频;ImageColorSpace色彩类型
filename = ‘great4.mp4‘;
hvfr = vision.VideoFileReader(filename ‘ImageColorSpace‘ ‘RGB‘);
% 创建系统对象,用于色彩空间转换vision.ColorSpaceConverter色彩空间转换;
hcsc = vision.ColorSpaceConverter(‘Conversion‘ ‘RGB to intensity‘);
% 创建系统对象,用于用高斯混合模型检测qian景
hfdet = vision.ForegroundDetector(‘NumGaussians‘ 3...
‘NumTrainingframes‘ 40 ... % 取连续五帧进行检测背景
‘MinimumBackgroundRatio‘ 0.7); % 初始标准差为 30/255
% 创建系统对象,用于检测出包含汽车运动的图像块
hblob = vision.BlobAnalysis( ...
‘CentroidOutputPort‘ false ...
‘AreaOutputPort‘ true ...
‘BoundingBoxOutputPort‘ true ...
‘OutputDataType‘ ‘single‘ ...
‘MinimumBlobArea‘ 250 ...
‘MaximumBlobArea‘ 3600 ...
‘MaximumCount‘ 80);
% 创建系统对象,用于对检测出的运动车辆进行框画
hshapeins = vision.ShapeInserter( ...
‘BorderColor‘ ‘Custom‘ ...
‘CustomBorderColor‘ [0 255 0]);
% 创建系统对象,用于标注检测到车辆的个数
htextins = vision.TextInserter( ...
‘Text‘ ‘%4d‘ ...
‘Location‘ [1 1] ...
‘Color‘ [255 255 255] ...
‘FontSize‘ 12);%%字体大小
% 创建系统对象,用于显示结果
sz = get(0‘ScreenSize‘);
pos = [20 sz(4)-300 200 200];
hVideoOrig = vision.VideoPlayer(‘Name‘ ‘Original‘ ‘Position‘ p
评论
共有 条评论