第5章 Simulink视频和图像处理模块
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 Simulink视频、图像处理模块
及实例
教学目标
通过本章的学习,了解Simulink视频和图像处理模块集的各组成部分;了解图像数据类型、颜色空间等基本概念;了解常用图像处理的一般原理;掌握使用其相关子模块进行图像转换、图像增强、图像的几何变换、图像的形态学操作、图像的恢复与重建等常用图像处理操作的方法。
本章是在Simulink的基础上,从工程技术应用的角度出发,以静态图像为主要对象,着重讨论视频和图像处理模块集在数字图像处理中的基本应用方法。图像恢复和重建在MATLABR2008b版本的Simulink中还未包括针对性的处理模块,需要在图像处理工具箱中调用相关函数,如:deconvwnr、deconvreg、deconvlucy、deconvblind四种常用的图像恢复函数,以及利用radon函数实现图像重建等。这些内容加以扩展后可适用于视频信号处理。
5.1 视频和图像处理模块集
5.1.1 视频和图像处理模块集概述
以Simulink为基础的视频和图像处理模块集(Video and Image Processing Blockset)在MATLAB R14中开始出现,并随着MATLAB新版本的推出不断地更新,在MATLAB R2008b中的版本为V2.6。该模块集提供了视频和图像处理多项成熟技术的应用模块,可为航空航天、国防、影像通讯、工业自动化、交通管理、医学图像处理、地理测绘等诸多领域提供直观方便的图像处理手段。
与Simulink其它工具箱的用法相同,用户在使用视频和图像处理模块集时,只需选用所需模块绘制好仿真系统框图,设定各模块参数,即可启动仿真,完成图像处理工作。此方法简单直观,不需要编写复杂的程序代码,也不需要精通各模块的内部原理与算法。
有多个方法可以打开视频和图像处理模块集。1)单击MATLAB窗口左下角的Start 按钮,选择Blocksets→Video and Image Processing→Block library命令,即可打开如图5.1所示的Library:viplibv1(视频和图像处理模块集)窗口;2)直接在Command Window (命令窗口)内输入viplib命令;3)在Simulink Library Browser(Simulink 模块库浏览器)窗口中,单击Libraries列表框中的Video and Image Processing Blockset选项;即可在窗口右侧展开Video and Image Processing Blockset标签;4)右击Libraries列表框中的Video and Image Processing Blockset选项,在弹出的快捷菜单中选择Open Video and Image
226
MATLAB在电气信息类专业中的应用
Processing Blockset Library命令。
视频和图像处理模块集V2.6共有70多个子模块,分成以下共11大类模块:
• Analysis & Enhancement(分析和增强模块库)
• Conversions(转换模块库)
• Filtering(滤波模块库)
• Geometric Transformations(几何变换模块库)
• Morphological Operations(形态学操作模块库)
• Sinks(接收器模块库)
• Sources(输入源模块库)
• Statistics(统计模块库)
• Text & Graphics(文本和图形模块库)
• Transforms(变换模块库)
• Utilities(工具模块库)
图5.1 Library:viplibv1窗口
5.1.2 分析和增强(Analysis & Enhancement)模块库
分析和增强(Analysis & Enhancement)类模块主要用于对图像及视频进行分析或增强处理。双击图5.1所示视频和图像处理模块集窗口中的Analysis & Enhancement模块,即可打开该类模块库窗口,此模块库共包含10个子模块,各子模块功能如下:
(1) Block Matching(块匹配)模块
使用块匹配算法对多图像序列或视频帧序列进行运动估计。块匹配算法是常用的运动估计算法,可用于去除视频帧间的冗余信息,进行视频压缩。
(2) Contrast Adjustment(对比度调节)模块
通过线性变换像素值的方法对图像进行对比度调节。
(3) Corner Detection(角点检测)模块
找出图像中的角点。可选择Harris角点检测法、最小特征值法或者局部亮度比较法进
第5章 Simulink视频、图像处理模块及实例227
行角点检测。
(4) Deinterlacing(反交错处理)模块
也叫去隔行处理,通过对输入视频信号进行去隔行处理来消除运动模糊。可选择线复制法(倍线法)、线性插值法或者场中值滤波法。
(5) Edge Detection(边缘检测)模块
对图像进行边缘检测。可选择使用Sobel算子、Prewitt算子、Roberts算子或者Canny算子来找到图像中的物体边缘。
(6) Histogram Equalization(直方图均衡化)模块
对图像进行直方图均衡化。可以提高图像对比度。
(7) Median Filter(中值滤波)模块
执行中值滤波操作。可降低图像噪声。
(8) Optical Flow(光流法)模块
执行光流法操作进行运动估计。可选择Horn-Schunck法或Lucas-Kanade法。
(9) SAD(绝对误差和)模块
求二维绝对误差和SAD。可用于寻找两幅图像的相似之处,输出可选择SAD值(多个),或者SAD最小值。
(10) Trace Boundaries(边界跟踪)模块
对二值图像执行边界跟踪。非0像素为目标,0像素为背景。
5.1.3 转换(Conversions)模块库
转换(Conversions)类模块主要用于完成图像转换操作,例如色彩空间的转换。双击图 5.1所示视频和图像处理模块集窗口中的Conversions模块,即可打开该类模块库窗口,此模块库共包含7个子模块,各子模块功能如下:
(1) Autothreshold(自动阈值)模块
执行自动阈值转换。可将灰度图像转换成二值图像。
(2) Chroma Resampling(色度重采样)模块
进行色度重采样转换。对YCbCr模式信号进行色度重采样,以降低带宽及存储要求,有多种重采样方式供选择。
(3) Color Space Conversion(色彩空间转换)模块
执行色彩空间转换。共有9种转换类型可供选择,例如RGB转为灰度图,RGB转为YCbCr等等。
(4) Demosaic(去马赛克)模块
执行逆马赛克变换。对Bayer模式图像进行去马赛克处理。
(5) Gamma Correction(伽玛校正)模块
对图像或视频流应用或去除伽玛校正。改变伽玛值,可对图像的伽玛曲线进行编辑,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度。
(6) Image Complement(图像求补)模块
对图像进行求补(求反)转换。对二值图像或灰度图进行求反,获得底片效果。
(7) Image Data Type Conversion(图像数据类型转换)模块