基于Matlab通用视频处理系统的设计-含Matlab代码

Posted matlab科研中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Matlab通用视频处理系统的设计-含Matlab代码相关的知识,希望对你有一定的参考价值。

⭕⭕ 目 录 ⭕⭕

⏩ 一、引言

随着信息技术的发展,基于视频图像中对感兴趣的目标提取,已经逐渐渗透到人们生活的方方面面,吸引越来越多的学者和研究机构参与该领域的研究。基于视频图像中对感兴趣的目标提取已广泛应用于监控视频、人脸识别、车道线识别、安全帽佩戴情况检测、行星探测等领域。目前,对视频图像中感兴趣的目标提取的研究方法有很多,如:基于FPGA 的实时视频采集预处理系统设计、基于 OpenCV 的运动目标检测与跟踪、基于 Zynq-7000 的视频处理系统框架设计、基于 DM642 视频采集处理系统硬件设计。

本文主要研究基于 MATLAB GUI 界面视频处理系统设计。通过编写 MATLAB GUI 界面的回调函数,以实现视频处理系统的搭建。

⏩ 二、系统总体方案设计

⏩ 2.1 方案设计

视频处理系统方案设计框架如图1所示。该系统主要由4个模块组成分别为:

(1) 导入并读取视频模块:将视频导入 MTALAB GUI 系统;

(2) 读取视频模块:读取视频信息;

(3) 分帧模块:将视频通过函数拆解为帧;

(4) 分帧图像处理模块:对拆解的帧图像进行二值化、边缘化、降噪处理;

(5) 显示视频模块:将输出的每一帧显示在 MATLAB GUI 界面中。

图1 视频处理系统的方案设计框架

⏩ 2.2 界面设计

MATLAB GUI(Graphical User Interface) 图形用户界面是指采用图形形式显示的计算机操作界面 , 是 MATLAB 用户可视化交互式的工具。

MATLAB GUI 界面操作流程如图 2 所示 , 最终通过 GUI设计形成两个文件:其一,是对GUI中各组件的描述,后缀名为“.fig”文件;其二,是控制GUI组件的程序代码,后缀名为“.m”文件。该系统界面设计分为引导界面和主界面两部分,用户点击引导界面的“进入”按钮,即可进入主界面,点击“退出”按钮,即可退出系统;当用户进入主界面后,可以看到该界面分为视频区域和控制面板区域两部分,其中视频区域实现视频的播放;控制面板区域实现视频的导入、暂停、继续、停止等控制操作。

图2 MATLAB GUI 界面操作流程图

⏩ 三、实例分析

通用视频处理系统如下图所示:

图3 视频处理系统

关联函数到“获取图像序列”按钮,在执行时会弹出进度条,并在本地文件夹下自动生成video images文件夹存储视频的帧图像序列,如图4所示

图4 将视频分割成帧图像序列

该系统通过导入视频,采用MATLAB软件可实现视频分帧处理,对每一帧进行处理。

⏩ 四、参考文献

[1] 马超 , 章明朝 , 李佩玥 , 等 . 基于 FPGA 的实时视频采集预处理系统设计 [J]. 半导体光电 , 2015, 36(3): 518-521.

[2] 吴晓阳 . 基于 OpenCV 的运动目标检测与跟踪 [D]. 浙江大学 , 2008.

[3] 李朗 , 张索非 , 杨浩 . 基于 Zynq-7000 的视频处理系统框架设计 [J]. 计算机技术与发展 , 2017, 27(5): 192-195.

⏩ 五、Matlab程序获取

上述Matlab程序、可私信博主获取


博主简介:研究方向涉及智能图像处理、深度学习等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


视频识别基于matlab视频车流量统计含Matlab源码 504期

一、简介

基于matlab视频的车流量统计

二、源代码

% 创建系统对象,用于读入待处理视频
filename = \'viptraffic.avi\';
hvfr = vision.VideoFileReader(filename, \'ImageColorSpace\', \'RGB\');
% 创建系统对象,用于色彩空间转换
hcsc = vision.ColorSpaceConverter(\'Conversion\', \'RGB to intensity\');
% 创建系统对象,用于用高斯混合模型检测背景
hfdet = vision.ForegroundDetector(...
        \'NumTrainingFrames\', 5, ...     % 取连续五帧进行检测背景
        \'InitialVariance\', (30/255)^2);   % 初始标准差为 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\', pos);
pos(1) = pos(1)+220;  %在右侧建立下一个视窗
hVideoFg = vision.VideoPlayer(\'Name\', \'Foreground\', \'Position\', pos);
pos(1) = pos(1)+220;
hVideoRes = vision.VideoPlayer(\'Name\', \'Results\', \'Position\', pos);
line_row = 23; % 定义感兴趣区域(ROI)

% 以下的程序段为对输入的视频图像进行处理
while ~isDone(hvfr)
    image = step(hvfr);      % 读入视频的每一帧
    y = step(hcsc, image);    % 将彩色图像转换成灰度图像

% 采用自动白平衡算法去除灰度突变
y = y-mean(y(:));

    fg_image = step(hfdet, y); % 检验背景

    % 采用数学形态学,在前景图像中检测变化的联通图像块区域的面积
    [area, bbox] = step(hblob, fg_image);

    image_out = image;
    image_out(22:23,:,:) = 255;  % 仅对经过白线后的车辆进行计数
    image_out(1:15,1:30,:) = 0;  % 将背景置为黑色

    Idx = bbox(:,2) > line_row;    %选择感兴趣区域.

   % 当在感兴趣区域中,联通图像块的比例占整个变化区域的40%以上时,便认为是车辆
    ratio = zeros(length(Idx),1);
    ratio(Idx) = single(area(Idx,1))./single(bbox(Idx,3).*bbox(Idx,4));
    ratiob = ratio > 0.4;
    count = int32(sum(ratiob));    % 车辆的数量
    bbox(~ratiob,:) = int32(-1);

    % 将检测出的车辆圈画出来
    image_out = step(hshapeins, image_out, bbox);

    % 显示检测汽车的数量
    image_out = step(htextins, image_out, count);

三、运行结果

在这里插入图片描述

四、备注

版本:2014a
完整代码或代写加1564658423

以上是关于基于Matlab通用视频处理系统的设计-含Matlab代码的主要内容,如果未能解决你的问题,请参考以下文章

图像处理基于matlab GUI视频处理系统含Matlab源码 756期

视频识别基于matlab视频车流量统计含Matlab源码 504期

图像分类基于matlab多种特征结合支持向量机脑MRI肿瘤分类含Matlab源码 2149期

全套完结数字信号处理----全套Matlab实验报告建议保存

PID优化基于matlab遗传算法PID控制器优化设计含Matlab源码 1144期

优化布局基于matlab遗传算法求解作业车间布局优化问题(最小成本设计)含Matlab源码 2395期