第5章 Simulink视频和图像处理模块

合集下载

第5章 Simulink子系统技术

第5章  Simulink子系统技术
设置仿真时间范围为0至20 s。 (2) 求解器设置:采用默认设置,即连续变步长,具 有过零检测能力的求解器。
同时显示三个 示波器以输出 三组信号
标记所有的示 波器坐标系
图5.6 Scope模块参数设置
输出被重置
控制信号为 方波信号
输出被保持
图5.7 【例5.1】中使能子系统的仿真结果
(1) 对于Simulink的早期版本而言,不存在专门的
Subsystems模块库。
(2) Simulink系统模型的最高层不允许使用Enable
与Trigger信号,而仅允许在子系统中使用。 图5.3中并没有建立一个完整的动态系统的模型, 而仅仅是给出建立条件执行子系统的方法,因此并没 有给出执行系统所需的使能信号源与触发信号源(如 图5.3中椭圆曲线所示,使能输入端与触发输入端采用 不同的信号标志)。如果此时用户运行此系统进行仿 真,MATLAB命令窗口中会给出输入端口没有信号连 接的警告,而且系统的输出均为0。
触发事件
使能输入信 号大 于 0? 是 执行子系统一次
否 不执行子系统
图5.10 触发使能子系统的工作原理
5.2.5 其它子系统介绍
在Simulink Block Library(Simulink模块库,版本4.1) 中的Subsystems子系统模块库中除了前面所介绍的通用 子系统、触发子系统、使能子系统之外,Simulink还提 供 了 许 多 其 它 的 条 件 执 行 子 系 统 。 图 5.12 所 示 为 Subsystems模块库中的所有子系统模块。在此对其进行 简单的介绍。 (1) 可配置子系统(Configurable Subsystem):用
示)。使用Subsystems模块库中的Subsystem模块建立 子系统,首先构成系统的整体模型,然后编辑空的子 系统内的模块。注意,对于多输入与多输出子系统而 言,需要使用Sources模块库中的In1输入虚模块与Sinks 模块库中的Out1输出虚模块来实现。

第五章 SIMULINK仿真基础

第五章 SIMULINK仿真基础
1. Simulink的启动
(1)在MATLAB的命令窗口直接键入simulink。 (2) 工具栏上的Simulink模块库浏览器命令按钮 (3) File菜单中选择New菜单项下的Model命令
2. Simulink的退出
关闭所有模型窗口和Simulink模块库窗口即可
9
SIMULINK 库浏览器界面
用户还可以设置一些参数来控制图标的属性, 这些属性在Icon页右下端的下拉式列表中进行 选择。 Icon frame:Visible 显示外框线;Invisible: 隐藏外框线。 Icon Transparency:Opaque 隐藏输入输出 的标签;Transparent:显示输入输出的标签。 Icon Rotation:旋转模块。 Drawing coordinate:画图时的坐标系。
7
所谓模型化图形输入是指SIMULINK提供了一 些按功能分类的基本的系统模块,用户只需要 知道这些模块的输入输出及模块的功能,而不 必考察模块内部是如何实现的,通过对这些基 本模块的调用,再将它们连接起来就可以构成 所需要的系统模型(以.mdl文件进行存取), 进而进行仿真与分析。
8
二、SIMULINK的使用
(1)运行Simulink并新建一个模型窗口 (2)将所需模块添加到模型中 (3)编辑模块组成模型 (4)进行系统仿真参数设置 (5)进行系统仿真 (6)观察系统仿真结果
3
演示
4
例 用Simulink求出闭环系统的阶跃响应曲线
5
例:设计一个模拟人口变化情况的模型
1.1 Product Gain
18
演示
19
第二节 SIMULINK功能模块的 Nhomakorabea理基本操作包括: 1. 选取模块 2. 复制与删除模块 3. 模块的参数和属性设置 4. 模块外形的调整 5. 模块名的处理 6. 模块的连接(信号线的弯折和分支) 7. 在连线上反映信息

第5章 simulink在系统仿真中的应用

第5章 simulink在系统仿真中的应用
在按下shift键同时,可以将选中模块从一个窗口 拖动到另一个窗口。
当移动多个模块及其连线时,首先要选中要移动 的模块和连线,然后将光标置于待移动模块及连线 任一处,将其拖动到指定位置即可。
43
(2) 复制:选中模块,然后按住鼠标左键进行拖放即 可在另一窗口复制同样的一个功能模块。
在同一窗口中复制模块时按下Ctrl键同时用鼠标 选中待复制的模块将其拖放到指定位置即可。如果 采用鼠标右键,以上复制过程就省掉按Ctrl键了。 (3) 删除:选中模块,按Delete键即可。若要删除多 个模块,可以同时按住Shift键,再用鼠标选中多个 模块,按Delete键即可。也可以用鼠标选取某区域, 再按Delete键就可以把该区域中的所有模块和线等 全部删除。
2021/8/7
3
5.1.1 Simulink 简介
控制系统仿真研究的一种很常见的要求是通过计 算机得出系统在某信号驱动下的时间响应,从中得 出期望的结论。
对线性系统来说,可以按照第4章介绍的方法, 对于更复杂的系统来说,Simulink 环境就是解决这 样问题的理想工具,它提供了各种各样的模块,允 许用户用框图的形式搭建起任意复杂的系统,从而 对之进行准确的仿真。
2021/8/7
17
• 在仿真时还可以选定最大允许的步长和最小允许的步长, 这可以通过填写 Max step size 栏目和 Min step size 的值 来实现,如果变步长选择的步长超过这个限制则将弹出警 告对话框。
• 一些警告信息和警告级别的设置可以从其中的 Diagnostics 标签下的对话框来实现。
48
(10) 模块的输入输出信号:模块处理的信号包括标 量信号和向量信号;标量信号是一种单一信号,而 向量信号为一种复合信号,是多个信号的集合,它 对应着系统中几条连线的合成。缺省情况下,大多 数模块的输出都为标量信号,对于输入信号,模块 都具有一种“智能”的识别功能,能自动进行匹配。 某些模块通过对参数的设定,可以使模块输出向量 信号。

第五章 Simulink 运动学仿真

第五章  Simulink 运动学仿真

R2 + R3 = R1
§3-1 曲柄滑块机构的Simulink仿真
r2 cos θ 2 + r3 cos θ3 = r1 将 R2 + R3 = R1 分解到x和y坐标轴上,得到 r2 sin θ 2 + r3 sin θ3 = 0 & −r2ω2 sin θ 2 − r3ω3 sin θ3 = r1 上式对时间求导数,有 r2ω2 cos θ 2 + r3ω3 cos θ3 = 0
§3-1 曲柄滑块机构的Simulink仿真
4 仿真结果
假设曲柄以1800 r/min(188.5rad/s)的速度旋转。按这种速度,曲柄 仅在0.07s之内就旋转了两圈,所以仿真的时间从0~0.07s。双击仿真中的 constant块可以设置曲柄的旋转速度。出现的对话框允许为曲柄旋转速度 输入任意值。角速度的单位是rad/s.注意到这一点是十分重要的。为便 于进行分析,以转/分(r/min)为单位的曲柄旋转速度必须转化为rad/s。
th20=0; th30=0; r10=5.0; om20=188.5; r2=1.0; r3=4.0;
a=[r3*sin(th30) 1; -r3*cos(th30) 0];
§3-1 曲柄滑块机构的Simulink仿真
§3-1 曲柄滑块机构的Simulink仿真
3 仿真结果
§3-1 曲柄滑块机构的Simulink仿真
§3-1 曲柄滑块机构的Simulink仿真
可以用MATLAB中的function块将此函数嵌入到simulink仿真中,function块可以 在“Functions and Tables”库中找到。 function块可以把矢量作为输入和 输出,但矢量必须由原始信号 “组装”而成。输入矢量(函数中 的u)用Mux块(多路转换器)组装得 到。请注意信号连接的顺序和其 在函数中使用的顺序完全样。同 样地,用DeMux块来分解输出矢 量(函数中的x)。

第五讲 Simulink介绍

第五讲 Simulink介绍

For modeling, Simulink provides a graphical user interface (GUI) for building models as block diagrams, using click-and-drag mouse operations. With this interface, you can draw the models just as you would with pencil and paper (or as most textbooks depict them).
Commonly Used Blocks 常用元件 Continuous 连续系统 Discontinuitles 非连续系统 Logic and Bit Operations 逻辑与位运算 Math Operations 数学运算 Model Verification 模型验证库 Signal Attributes 信号属性 Sinks 输出设备 Sources 信号源 ...
2.1 Simulink公共模块 Simulink公共模块
1. Continuous(连续模块)
导数 积分器 状态空间 传递函数 传递延迟 可变传输延迟 零-极点 极点
2. Discrete Filter (非系统模块) 3. Discrete (离散系统) 4. Logic and Bit Operations (逻辑与位运 算) 5. Lookup Table (查找表) 6. Math Operations (数学运算) ……
第五讲 Simulink介绍 Simulink介绍
Simulink 是一个用来进行动态系统仿真,建 模和分析的软件包,不但支持线性系统仿真,也 支持非线性系统;既可以进行连续系统,也可以 进行离散系统仿真. 主要介绍如何用SIMULINK创建模型,进行仿 真和分析仿真结果.

MATLABSimulink图像处理

MATLABSimulink图像处理

视频/图像处理系统中,根据其性能指标要求,视频/图像处理部分可以使用LSP系统做为通用平台。

基于LSP的平台,采用基于模型的开发流程,将会大大提高项目开发效率。

1 系统架构视频/图像处理系统,主要分为三大部分:视频/图像数据采集(解码),数字信号处理,视频/图像(编码)模拟输出,框架如下:图1 视频/图像处理系统框图2 传统开发流程及其存在的问题传统项目开发过程中,各个系统分别根据技术需求进行选型或设计,然后将设计结果综合起来,通过测试校正设计中的不足并进行修改,直到得到符合要求的设计结果。

最后,通过实际测试后方可定型生产。

传统的开发过程一般存在这样几个问题:设计规范难于明确。

设计初期,难于确定各子系统的详细设计要求。

通常采用主观经验或者借鉴已有产品来设定各个子系统的设计规范。

各子系统之间的设计协调困难。

传统设计流程中各个子系统单独设计,常常以文档形式作为信息交流的平台,很容易引起歧义,效率不高。

设计结果不易立即验证。

传统流程中设计结果通常在产品原型样机阶段才能得到有效验证,很多早期设计问题在项目后期才能被发现,增加了设计循环的次数和工作量,大大增加研制成本并拖延开发周期。

3 MATLAB/Simulink和基于模型的系统设计流程3.1 基于模型的分析和设计基于模型的设计方法指的是利用设计对象的数学模型来考察相应实际系统的行为特性,并根据数学模型所体现出的动态结果对设计进行校正或细化。

这里所用的数学模型就是被分析/设计对象的时域仿真模型,通常是表达系统动态特性的一组数学方程,表达为微分方程,差分方程,代数方程形式。

我们将采用MATLAB/Simulink工具实现基于模型的分析和设计。

3.2 MATLAB/Simulink和基于模型系统设计的优势以MATLAB/Simulink为软件平台进行系统设计时,系统中所有的环节都通过Simulink动态模型仿真进行检验。

MATLAB/Simulink提供了丰富的图像处理函数、模块,可以方便的对图像处理系统建模、对图像处理算法进行仿真验证。

第5-6章simulink仿真基础知识及应用

第5-6章simulink仿真基础知识及应用

退出文件
直接关闭模型窗口。 直接关闭模型窗口。
SIMULINK的演示和帮助 的演示和帮助 help—demo—ModelingFeatures—Data Typing Filter SIMULINK模型库浏览器简介 SIMULINK模型库浏览器简介
模型窗口工具栏和状态栏
按 钮
功 能 仿真启动或继续 结束仿真 设置仿真结束时间 选择仿真加速模式 准备 产生RTW代码 代码 产生
模块的连接操作
注意:改变连线的粗细 注意: Format—port/signal displays—wide vector lines 设定连线标签 直接在连线上双击鼠标,就可以输入该线的说明标签。 直接在连线上双击鼠标,就可以输入该线的说明标签。 连线的分支 在需要分支的地方, 在需要分支的地方,按住鼠标右键不放拉出到需要连 接的地方;或按住ctrl键拉出。 键拉出。 接的地方;或按住 键拉出
SIMULINK提供了一个建立模型方框图的图形用户接口 SIMULINK提供了一个建立模型方框图的图形用户接口 (GUI),模型的创建只需要单击和拖动鼠标即可完成。 GUI),模型的创建只需要单击和拖动鼠标即可完成。 ),模型的创建只需要单击和拖动鼠标即可完成 SIMULINK中包含了许多实现不同功能的模块库, SIMULINK中包含了许多实现不同功能的模块库,使得在这 中包含了许多实现不同功能的模块库 种设计中,不必考虑模块的内部结构而直接实现其“ 种设计中,不必考虑模块的内部结构而直接实现其“想要 ”的功能。同时,在建立模型之后,可以直接进行一种 的功能。同时,在建立模型之后, “交互式的”仿真,通过相关菜单或命令的使用来执行 交互式的”仿真, 仿真, 仿真,得到能够按照自己的设定来进行仿真并观察对应的 结果。利用此软件,几乎可以做到不用写一行代码, 结果。利用此软件,几乎可以做到不用写一行代码,就能 完成整个动态系统的建模工作。 完成整个动态系统的建模工作。

五章SIMULINK仿真基础

五章SIMULINK仿真基础
五章SIMULINK仿真基础
第一节 SIMULINK简介
一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和 仿真的一个软件包,它与MATLAB语言的主要区别在于,其与 用户交互接口是基于Windows的模型化图形输入,其结果是使得 用户可以把更多的精力投入到系统模型的构建,而非语言的编 程上。
4) 转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时 需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。或者直接按Ctrl+F键执行Flip Block,按 Ctrl+R键执行Rotate Block。
5) 改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。
6) 模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改 即可。名称在功能模块上的位置也可以变换180度,可以用Format菜 单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。
7) 颜色设定: Format菜单中的Foreground Color可以改变模块的前景颜 色,Background Color可以改变模块的背景颜色;而模型窗口的颜色 可以通过Screen Color来改变。
4、 Math(数学模块) math.mdl
Sum:加减运算 Product:乘运算 Dot Product:点乘运算 Gain:比例运算 Math Function:包括指数函数、对数函数、求平方、开根号等常用 数学函数 Trigonometric Function:三角函数,包括正弦、余弦、正切等 MinMax:最值运算 Abs:取绝对值 Sign:符号函数
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 MATLAB在电气信息类专业中的应用 226 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(图像数据类型转换)模块 MATLAB在电气信息类专业中的应用 228 转换图像数据类型。将输入图像转换成指定的数据类型并输出。可选择的输出数据类型有双精度型、单精度型、int8、int16等多种类型。

5.1.4 滤波(Filtering)模块库 滤波(Filtering)类模块用于对图像和视频进行各种滤波操作。双击图5.1所示视频和图像处理模块集窗口中的Filtering模块,即可打开该类模块库窗口,此模块库共包含4个子模块,各子模块功能如下: (1) 2-D Convolution(二维卷积)模块 计算出两个输入矩阵的二维离散卷积。 (2) 2-D FIR Filter(二维FIR数字滤波)模块 二维FIR数字滤波器。用滤波系数矩阵或滤波系数矢量对输入图像或矩阵进行二维FIR数字滤波。 (3) Kalman Filter(卡尔曼滤波)模块 卡尔曼滤波器。对输入信号进行卡尔曼滤波,以去除噪声影响,预测和判断动态系统的状态。 (4) Median Filter(中值滤波)模块 中值滤波器。执行二维中值滤波,可降低图像噪声。此模块也可在分析和增强(Analysis & Enhancement)模块库中找到。

5.1.5 几何变换(Geometric Transformations)模块库 几何变换(Geometric Transformations)类模块用于控制图片或视频的位置、大小、形状和方向。双击图5.1所示视频和图像处理模块集窗口中的Geometric Transformations模块,即可打开该类模块库窗口,此模块库共包含7个子模块,各子模块功能如下: (1) Apply Geometric Transformation(应用几何变换)模块 对一幅图像应用投影或仿射变换。可对整幅图像或图像的一部分区域进行。 (2) Estimate Geometric Transformation(估算几何变换)模块 计算两幅图像最大数量点对之间的变换矩阵。 (3) Projective Transformation(投影变换)模块 执行投影变换操作。将一个四边形变换成另一个四边形。 (4) Resize(缩放)模块 执行缩放变换操作。改变图像的大小。 (5) Rotate(旋转)模块 按指定的角度旋转图像。 (6) Shear(切变)模块 执行切变操作。通过线性变化位移的方法移动图像的行或列,可指定切变的方向与数值。 (7) Translate(平移)模块 对输入图像执行平移操作。可按指定位移量上下左右移动。

相关文档
最新文档