基于MATLAB的数字视频处理技术

2019-05-09 00:50耿小芬
今传媒 2019年4期
关键词:图像处理

耿小芬

摘  要:MATLAB具有强大的工程计算能力,借助其自带的视频及图像处理工具箱,并结合相关函数,用户可以非常方便地对AVI格式的视频进行分析、计算和数据提取工作,这在数字图像处理中,在对运动物体检测和跟踪等技术领域中具有现实的使用价值。本文通过实际案例验证了MATLAB在视频处理中的强大功能,为处理数字图像提供了科学依据。

关键词:MATLAB;图像处理;AVI

中图分类号:TN941.3     文献标识码:A        文章编号:1672-8122(2019)04-0013-02

1.引言

MATLAB是由Matrix(矩阵)和Laboratory(实验室)两词的前三个字母组合而成,含有矩阵实验室的意思。由美国 MathWorks 公司推出,主要用于数值计算和图形处理的软件。MATLAB 中包括很多工具箱,除了Simulink主模块外, 还包含许多特定领域的模块,主要有:通信工具箱、航空航天模型、计算机视频处理工具箱、控制系统工具箱、数据采集工具箱、EDA仿真、嵌入式编码器等模块,分别涵盖了数据获取、科学计算、控制系统等领域40多个专业领域。除此之外, MATLAB 还具有语法简单、易学易用,能实现面向对象编程,有方便的绘图功能,能方便的交互式编程和强大的扩充能力等特点; MATLAB丰富的函数使开发者无需重复编程,只要简单地调用就能实现强大的功能。[1]因此, MATLAB已经成为目前使用最为广泛的工程应用软件。

2.MATLAB 视频处理简介

MATLAB 的图像处理工具箱功能十分强大, 可以支持多种格式的图像文件,如 *.bmp 、*.jpg、*.gif、*.tiff、*.png等。MATLAB也有很多对图像处理的函数,这些函数按其功能可分为:图像显示、图像文件I/O、几何操作、像素和统计处理、图像分析、图像增强、线性滤波、线性二元滤波设计、图像变换、邻域和块处理、 二进制图像操作、区域处理、颜色映像处理、颜色空间变换、图像类型和类型转换。利用工具箱和这些函数可以很方便的对图像进行处理。

视频处理是对图像处理的一种扩展,MATLAB进行视频分析,首先要能读取单帧图片,然后对图片进行处理分析。[2]近年来视频的广泛应用也促进了图像技术的推广。另外,在图像和视频处理中既要理解原理,还要钻研算法,才能利用图像和视频处理技术解决实际问题。生活中我们经常需要处理一些视频文件,如:从一个AVI文件中提取一幅或者几幅画面。利用 MATLAB 视频及图像处理工具箱,能根据用户需要在视频文件中读取特定数据,实现对指定画面的提取。

3.视频图像提取原理

所谓视频是指将一系列静态图像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。连续的图像以每秒超过24帧的速度播放,根据人眼的视觉暂留原理,就变成了连续的画面,这就是视频。由于视频文件普遍较大,在传输中为了减少存储空间,往往将视频文件以一定的算法进行压缩,不通过专业软件很难将其中的某一幅(帧)画面手工提取出来。通过研究和实验发现,利用 MATLAB 提供的视频及图像处理工具箱,可以很方便的对视频文件中的图像进行操作。

(1)MATLAB中常用的图像处理函数

MATLAB图像处理工具箱中有一些自带的函数,利用这些函数可以方便的实现绝大多数图像的处理。如:imread(读取一幅图像文件)、imshow(显示一幅图像)、colormap(设置图像的色彩映射)、imfinfo(获得一幅图像的相关信息)、imwrite(输出一幅图像)、ind2rgb(将一幅索引图像转变为RGB图像)等等。

(2)MATLAB中与 AVI 视频处理相关的函数

MATLAB 视频处理工具箱中有一些函数,利用这些视频处理函数可以方便地读取 AVI 文件中的数据,获得该文件的相关属性。利用这些属性可以在AVI 文件中提取出用户需要的信息。如:aviinfo(获得AVI视频文件的相关信息)、aviread(读取一段视频)、VideoReader(读取视频文件)、VideoWriter(与一些命令结合使用,以保存视频文件)、WriteVedio(用于向指定的视频文件中添加图片、视频等)。

下面将通过一些例子来简要介绍利用 MATLAB 处理AVI视频的方法。

4.应用举例

(1)在AVI视频文件中提取某一幅画面

AVI是微软公司开发的一种数字音频和视频文件格式,全称是Audio Video Interleaved(视频交错格式),是目前常用的视频文件格式之一,一般用于存储电视、电影等各种影像信息。一个AVI 视频文件可以包含多个不同类型的媒体流,如:音频流,视频流,控制流和MIDI 流。音频流和视频流存储音频数据和视频數据,为了保证视频画面与音频同步,音频流和视频流采用了交错存储的方式;控制流用来控制视频的显示;MIDI 流用来提供视频播放过程中的背景音乐。当然,含有单一音频流或单一视频流的AVI文件也是合法的。[3]

早期版本的MATLAB中读取视频文件时只能用aviread函数,该函数支持的视频文件编码有限。目前,我们可以用视频读取函数VideoReader来读取视频,输入如下代码并运行程序,视频加载并播放。运行完成后在当前目录下生成和视频帧数相同的若干个图片文件。(假设当前文件夹内存储有视频文件viptrain.avi)效果。

%读取视频文件并显示

fileName = 'viptrain.avi';          %定义存储视频变量

猜你喜欢
图像处理
视觉系统在发动机涂胶的应用
“课程思政”视域下职业学校《图像处理》课程教学改革实践
构建《Photoshop图像处理》课程思政实践教学路径的探索
基于图像处理与卷积神经网络的零件识别
基于新一代信息技术的Photoshop图像处理课程开发与建设
基于机器视觉的自动浇注机控制系统的研究
Photoshop软件图像处理技巧
基于二元全区间插值法的畸变图像矫正方法
机器视觉技术在烟支钢印检测中的应用