APP下载

基于MATLAB GUI的视频特征提取

2021-08-01翟福成

科技经济导刊 2021年20期
关键词:分块控件直方图

翟福成

(成都信息工程大学 电子工程学院,四川 成都 610225)

随着多媒体文化的发展,视频的数量也呈几何式地爆炸增长,对视频的分析和处理具有极大的意义。视频特征提取往往是视频处理的关键,有时搜集一些精彩的片段,会由于视频播放速度太快,导致观看效果不佳,可通过视频分帧技术将动态视频转换为静态图像序列,从而一帧一帧反复观看。颜色特征是在图像处理中应用最为广泛的视觉特征,本文研究视频分帧后每帧图像的RGB颜色特征以及色调直方图,通过提取图像特征从而更好地分析图像,进而分析与处理视频。MATLAB软件的功能包括数值计算和可视化图像处理等,其功能十分强大,包含各种丰富的工具包,广泛被应用于图像处理相关的领域研究中[1-3]。MTLAB有着极为方便的图形用户界面开发环境即GUIDE,其通常被用来制作人机交互性的GUI界面。GUIDE操作十分简单,它提供了一个初始化的空白界面,用户通过拖动控件,搭建好静态初始界面,接着对M文件中每个控件的回调函数进行编写,即可设计出直观、便捷、强大的人机交互界面,实现预定功能。本文基于GUI工具设计出一种视频特征提取系统,可完成视频分帧、图像读取、图像分块、RGB特征提取、色调直方图绘制等功能,界面简单,便于用户操作。

1.视频特征提取

视频特征提取由视频分帧、图像分块、RGB特征提取、色调直方图绘制等部分组成。

1.1 视频分帧

1.1.1 原理介绍

视频的本质即为图像,因为人眼识别的频率即采样率有限,无法在短时间内依次识别多张图像,所以在单位时间内看到的图像数目达到或者超过人眼的采样率所能采到的上限数目时,给人眼造成的感觉就是画面是运动的,这就是所谓的视频流。而使得人眼将静态图像序列感受成动态视频的频率一般为25张图片/秒,即25帧/秒。此频率也就是一般人眼所能达到的最大采样率。

1.1.2 算法步骤

使用VideoReader函数读取视频文件,获得视频总时长(秒)、视频帧速(帧/秒)等信息;通过总时长(Duration)* 帧速(FrameRate)计算出当前读入视频的总帧数;通过for循环参数的设置来确定本次读取的帧数以及读取间隔;通过read函数获取视频中每一帧的信息;利用imwrite函数将视频的每一帧保存成静态图片即将视频的图像序列进行保存。

通过以上5步,即可将任意动态视频流转变为静态的图像序列并进行保存,方便后续研究。

1.2 图像分块

如果基于全局直接进行RGB特征提取,则提取出的RGB特征只有一个,无法体现出图像的颜色空间分布信息。而基于选取图像的不同部分,分别进行RGB特征提取是对图像全局RGB特征提取的一种改进,使得处理结果可以包含图像的颜色空间分布信息,更有利于直观且细致地观察出图像的特征信息。这种方法往往是将整幅图像按照某种自定义方式分成若干块,对每个块分别计算并提取出其RGB特征信息。相比于全局RGB特征提取,分块RGB特征提取可以更加有效地提高检索信息的精度[5]。一般来说,图像中要处理的目标物体往往集中在中间部分,而边缘部分通常是一些无关紧要的背景。因此,将图像进行合理分块,有助于更加快速准确地寻找目标物体,从而对其进行特征提取。分块数量越多,信息检索的精度越高,但计算机需要存储的数据也就越多;如果目标物体较大,但分块数量较多,则会无法准确检索到目标物体。因此,分块的数量需要根据目标物体的大小以及计算机系统的运算存储能力加以选择。如果目标物体较小,而进行处理的计算系统也有能力进行较大的数据存储与运算,则可以将图像分成较多数量的块,提升检索性能以及对目标物体的分析效果。本文采用传统较为简洁的3×3图像分块。

1.3 RGB特征提取

1.3.1 原理介绍

生活中的图像一般均为彩色图像,也叫作RGB图像。任意一种颜色实际上均可以由不同比例的红、绿、蓝三种颜色混合而成,那么RGB图像就可以由其二维位置信息和当前位置红、绿、蓝分量的大小来唯一确定,故RGB图像在MATLAB中通常表示为一个M*N*3的三维矩阵。

1.3.2 分量提取

由于图像为二维信号,故RGB图像中的第三维度实际上表示的即为颜色。当第三维数值为1时表示红色,第三维数值为2时表示绿色,第三维数值为3时表示蓝色,故可通过下列方法提取出图像中的红、绿、蓝三个分量。IR = Image(:,:,1);%提取红色分量IG = Image(:,:,2);%提取绿色分量IB = Image(:,:,3);%提取蓝色分量

1.4 色调直方图绘制

色调与光波的波长有关,它表示人的感官对不同颜色的感受,通过绘制色调直方图可直观地感觉出图像所包含的色调信息。色调直方图是指把整个色调空间等间隔划分为若干个色调空间,然后,分别计算出图像中每个像素块的色调值,并依次统计落在每个色调区间内的像素数量,再用每个区间内的像素数量除以图像像素总数,便可求得图像色调值在每个色调区间内出现的频率。建立二维空间坐标系,横坐标反映色调区间,纵坐标反映色调出现的概率,便可绘出色调直方图。本文将整个色调空间划分为16个小色调空间,也称16bin。然而,色调直方图由于只显示了某一色调值出现的频率,没有显示出此色调值所在的空间位置,因此,在实际应用分析中,常常将图像分块后的特征提取和直方图的绘制同时进行,以便观察出图像的空间位置分布信息以及某一特征出现的具体频率信息。

2.MATLAB GUI界面开发

2.1 界面总体设计

图1 技术路线

2.2 界面设计方法

本文通过MATLAB中较为常用的GUIDE来进行GUI界面设计。设计流程通常由两大部分组成,首先设计系统的初始界面,其次根据每个控件的功能编写相应的回调函数。具体设计步骤[6]如下:审视系统功能,明确设计效果;依据系统所需功能,构想简洁高效的界面初始图;在MATLAB中输入GUIDE,启动GUI界面,根据构想的界面初始图,利用不同控件搭建静态GUI界面;依据系统功能,编写各个控件的回调函数,实现界面的动态功能;运行界面,对界面整体功能进行检测与调试。需要注意的是,在整个GUI界面设计的过程中,往往不能按部就班地顺序执行好每一步,经常要在各个步骤之间反复进行,经过多次调试才能达到预期效果。

3.仿真实验及结果分析

本文提出的算法在MATLAB平台上实现,选取一段视频,对其进行图像序列获取,继而对获取的图像进行图像分块、RGB特征提取、色调直方图绘制等操作,视频特征提取系统的显示结果如图2所示。

图2 视频特征提取系统

分析图2可知,此系统实现了视频导入、获取图像序列、图像导入、图像3×3分块、RGB特征提取以及色调直方图绘制、系统退出等功能。由RGB特征提取结果可直观看出图像每块的颜色特征,反映了颜色的空间分布特性;由色调直方图可直观看出图像的整体色调特征,此图像色调分量较多,低色调所占比重相比于高色调较大,由此可知,此图像整体偏向于低色调。

4.结语

本文基于MATLAB的GUI工具设计出一种视频特征提取系统,对视频内容的详细分析起到了重要作用。实验结果表明,此系统可完成视频分帧、图像导入、图像分块、RGB特征提取、色调直方图绘制等功能,且GUI界面简洁高效,便于用户使用,保证用户对视频信息进行有效提取。由于视频处理涉及领域十分广泛,本文的研究内容仅为视频处理的研究打下了基础,如何提取出更多、更有实际应用价值的视频特征,是未来研究中的重点。

猜你喜欢

分块控件直方图
面向量化分块压缩感知的区域层次化预测编码
基于C++Builder 的电子邮件接收程序设计*
符合差分隐私的流数据统计直方图发布
钢结构工程分块滑移安装施工方法探讨
使用“填表单”微信小程序 统计信息很方便
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于.net的用户定义验证控件的应用分析
基于差分隐私的高精度直方图发布方法
一种面向不等尺寸分块海量数据集的并行体绘制算法
分块矩阵初等变换的妙用