毕业设计(论文)-Simulink在数字图像处理中的应用.doc_第1页
毕业设计(论文)-Simulink在数字图像处理中的应用.doc_第2页
毕业设计(论文)-Simulink在数字图像处理中的应用.doc_第3页
毕业设计(论文)-Simulink在数字图像处理中的应用.doc_第4页
毕业设计(论文)-Simulink在数字图像处理中的应用.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业论文(设计)Simulink在数字图像处理中的应用姓 名: 陈璨 指导教师: 吕军 院 系: 机电与信息工程学院 专 业: 电子信息工程 提交日期: 2013.05.01 目录中文摘要3英文摘要4第一章 绪论 5 1.1 研究背景与意义 5 1.2 国内外研究现状 5 1.3 研究内容 6 1.4 研究方案 6第二章 图像的几何变换 7 2.1 图像的旋转 7 2.2 图像的缩放 9 2.3 图像的平移 11 2.4 图像的裁剪 13第三章 图像的代数运算和灰度变换 15 3.1 加法运算 15 3.2 图像的灰度变换 19第四章 图像的增强 21 4.1 灰度变换增强 21 4.2 图像的平滑增强 23 4.3 图像的锐化增强 25第五章 图像的形态学操作 28 5.1 形态学方法分析硬币图像里的硬币数量 28 5.2 形态学操作去除噪声31 5.2.1 基本原理 31 5.2.2 实际案例操作 32结论37参考文献38致谢39Simulink在数字图像处理中的应用陈璨指导老师:吕军(黄山学院机电与信息工程学院,黄山,安徽 245041)摘要:本文是在Simulink的基础上,从工程技术应用的角度出发,以静态图像为主要对象,着重讨论视频和图像处理模块集在数字图像处理中的基本应用方法。利用Simulink的视频和图像处理模块集,在图像几何变换、代数运算、图像增强、形态学操作等内容上进行了系统框图的制作,通过对各种模块的参数设置和仿真模型的参数设置,完成了对图像的旋转、缩放、平移、裁剪、图像的加法运算、图像的灰度变换增强、平滑增强、锐度增强、二值图像的形态学操作等相关的数字图像处理操作。关键词:simulink ;数字图像处理;视频和图像处理模块集。Digital Image Processing Based On SimulinkChen CanDirector: Lv Jun(College of Information Engineering , Huangshan University, Huangshan,Anhui 245041 )Abstract: This article is based on Simulink, starting from the point of view of the engineering and technical applications as the main object in a static image, focusing on Video and Image Processing Blockset which sets the basic application in digital image processing method.Using Video and Image Processing Blockset of Simulink, this article draws the block system diagram on the content of image geometric transformation, algebraic operations, image enhancement, morphological operations and so on. By setting every module parameters and simulation model parameters, this article completed some digital image processing operations such as image rotation, zoom, translation, cropping, image addition operations, the gray transformation of the image enhancement, smoothing enhancement, sharpness enhancement, morphological operations of the binary image.Key Words: Simulink; Digital Image Processing; Video and Image Processing Blockset.第一章 绪论1.1 研究背景与意义从21 世纪起,人类进入信息化的科技时代,而数字图像是人类获取信息、表达信息和传送信息的重要手段之一。研究表明,在人类接受的所有信息中,有70 80的信息为视觉图像信息。同时,随着计算机技术的迅速发展,大部分的信息将以数字化的形式呈现。但是在实际应用操作中,图像信息并不能直接应用,且不论采用多么精确的仪器所获取的图像都会由于各种因素,如大气环境、光照条件、曝光过多等造成图像质量退化,大大降低图像信息的使用价值。在此种情况下,数字图像处理便应运而生了。Matlab 集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征,被广泛应用于数字图像处理的研究1。传统的方法大多是基于Matlab 的图像处理工具箱( Image Process Toolbox) 等专业工具箱提供的各种函数,编写通用或者专业的程序代码进行图像处理。而随着Matlab 版本的不断完善更新,融入了可视化、模块化的工具箱,为数字图像处理研究提供了新的方法。虽然,目前已有一些学者基于模拟动态系统的交互式程序Simulink 对特定领域进行动态模拟仿真,但是少有基于Simulink 的视频与图像处理模块集( Video and Image Processing Blockset) 进行图像处理仿真的研究2。本文基于Simulink 的视频与图像处理模块集( Video and Image Processing Blockset),以可视化、模块化的建模思想,结合数字图像处理的相关基础理论,说明利用Simulink 的视频与图像处理模块集进行图像处理的方法是快速、简便且高效的。1.2 国内外研究现状Simulink 是基于Matlab 的图形化仿真设计环境,是Matlab 提供的进行动态系统建模、仿真和综合分析的集成软件包3。在该软件环境下,用户可以调用现有的各种模块,将它们以适当的方式连接起来,从而构建成系统的模型,即可视化建模。Simulink 作为对Matlab 语言运算环境的扩展,在保持Matlab 一般性能的基础上,结合工具箱的使用,可以完成对连续系统、离散系统、连续与离散混合系统的动态性能的仿真与分析4。Simulink 中具有以方框图来进行系统建模的图形接口,实现了可视化建模,具有直观、简便、灵活、有效的特点。以Simulink 为基础的视频和图像处理模块集在Matlab R14 SP3中开始出现,并随着Matlab 版本的不断更新而不断完善。该模块集提供了视频和图像处理多项成熟技术的应用模块,可为航空航天、国防、影像通讯、工业自动化、交通管理、医学图像处理、地理测绘等诸多领域提供直观方便的图像处理手段5。视频和图像处理模块集与Simulink 其它工具箱的用法相同,用户在使用时,只需选取所需的模块绘制仿真系统框图,设置各模块参数和系统参数,即可运行仿真,完成图像处理工作。目前Simulink在数字图像处理中的应用涉及到多个方面。Simulink 可以用于对数字图像及视频图像的边缘检测;搭建对红外图像处理算法的系统仿真平台;对动态图像检测系统的仿真;还可以将数字图像处理应用到相关的物理、化学、生物教学活动中。相信在不久的未来,基于Simulink的数字图像处理可以搭建更多的系统平台,处理更多的实际问题,应用到我们生活中的方方面面。1.3 研究内容以Simulink 为基础的视频和图像处理模块包含图像分析和增强( Analysis Enhancement) 、颜色和数据类型转换( Conversions) 、滤波( Filtering) 、几何转换( Geometric Transformations) 、形态学操作( Morphological Operations ) 、统计( Statistics ) 、时频转换( Transforms) 、文本和图形( Text Graphics) 、接收器( Sinks) 、发生源( Sources) 等10多类共75个模块,可实现100 多个算法6。不同的模块库下有不同的模块,不同模块库的作用也各不相同,正是拥有这样丰富多样的模块进而满足不同图像处理的需求。本文在Simulink的基础上,从工程应用的角度出发,以静态图像为主要研究对象,重点讨论视频和图像处理模块集在数字图像处理中的基本应用方法。通过Simulink中的Video and Image Processing Blockset 模块集中不同种类的模块,搭建不同的仿真模型,从而实现对数字图像的各种处理。例如数字图像的平移、旋转、缩放、裁剪等基本的几何运算可以通过Geometric Transformations模块库实现;数字图像的增强,如灰度变换增强、直方图处理的图像增强等可以通过Analysis Enhancement 模块库实现;数字图像的复原,如中值滤波去除椒盐噪声可以通过Filtering模块库实现;二值图像的处理,如开运算、闭运算、腐蚀和膨胀等形态学图像处理可以通过Morphological Operations模块实现。1.4 研究方案根据不同的应用需求,所需模块并不相同利用视频和图像处理模块集对图像进行处理的流程大致如图1.1所示:设置模块参数和模型仿真参数新建一个Simulink模型在模型里加上所需模块连接各个模块运行仿真系统比较图像差别,得出结论图1.1研究流程图第二章 图像的几何变换图像几何变换又称为几何运算,它是图像处理和图像分析的重要的内容,也是最为基础的内容。在数字图像处理的领域内,图像的几何变换是指图像在大小、位置和几何形状上的变换处理,具体包括图像的旋转、缩放、裁切、平移、切变等基本操作。几何变换应用非常广泛,比如,从人造卫星上所拍摄的图像,由于摄像头装置在卫星的遥感器上,其位置在不停的变化,所以拍出来的照片就会发生平移、旋转。切变等一系列的变形,这时就需要利用几何变换加以修正7。利用Simulink 视频和图像处理模块集中的几何变换模块库(Geometric Transformations)及其它相关模块可方便快速地对图像进行几何变换操作。2.1 图像的旋转图像的旋转可以通过几何变换模块库中的Rotate模块实现。Rotate模块是在Video and Image Processing Blockset 模块集中的Geometric Transformations 模块库中,它可以实现对图像的旋转。 其步骤如下:(1)新建一个Simulink模型;(2)在模型窗口中加入如下图2.11所示的各个模块。连接各模块,如图2.11所示;图2.11 图像旋转的仿真模型(3)双击模型窗口中的各模块,对其进行参数设置:Image From File 模块:Main标签下文本框点击Browse, 选取HSXY.jpg;Rotate模块:Main标签下Angle(radians)文本框输入pi/4(即45角)。(4)设置仿真器参数:单击模型窗口SimulationConfiguration Paramelers命令,弹出Configuration Parameters:untitled/Configuration对话框,在对话框左侧Select标签下,选择Solver选项,在右侧的Simulation time标签下,Star time和Stop time两个文本框内分别设置起始时间为0,停止时间为0。Solver options标签下,Type下拉列表框选择Fixed-step,Solver下拉列表框选择Discrete (no continuous states) 8。(5) 保存模型文件,并运行该仿真。运行结果如图2.12、图2.13所示。图2.12 图像旋转的原图图2.13 旋转后的图像2.2 图像的缩放图像的缩放可以利用几何变化模块库中Resize模块,实现对图像的缩放操作。Resize模块是在Video and Image Processing Blockset 模块集中的Geometric Transformations 模块库中,它可以实现对图像的缩放。其步骤如下:(1)新建一个Simulink模型;(2)在模型窗口中加入如下图2.21所示的各个模块。连接各模块,如图2.21所示。图2.21 图像缩放的仿真模型(3)双击模型窗口中的各模块,对其进行参数设置:Image From File 模块:Main标签下文本框点击Browse,选取first teaching building.jpg;Resize模块:Main标签下Resize factor in %文本框输入【50 50】;(4)设置仿真器参数;(5)保存模型文件,并运行该仿真。运行结果如图2.22、图2.23所示。图2.22 图像缩放的原图图2.23 缩放后的图像观察两幅图像可知,原图的大小比例是333500,Resize模块的参数设置是【50 50】,即缩放比例为50%,则缩放后的图像比例为167250。2.3 图像的平移图像平移使用Translate 模块,它在Video and image Processing Blockset模块集中的Geometric Transformations模块库中,它可以实现对图像的平移操作。其步骤如下:(1)新建一个Simulink模型;(2)在模型窗口中加入如下图2.31所示的各个模块。连接各模块,如图2.31所示;图2.31 图像平移的仿真模型(3)双击模型窗口中的各模块,对其进行参数设置:Image From File 模块:Main标签下文本框点击Browse,选取athletic track.png;Translate模块:Main标签下offset选项中填上【50 80】。表示意思是垂直方向平移50个像素单位,而水平方向平移80个像素单位;(4)设置仿真器参数;(5)保存模型文件,并运行该仿真。运行结果如图2.32、图2.33所示。图2.32 图像平移的原图图2.33 平移后的图像比较两幅图像可知,原图的大小比例是332502,Translate模块的参数设置是【50 80】,表示的意思是垂直方向平移50个像素单位,而水平方向平移80个像素单位。那么平移后图像的大小比例则是382582。2.4 图像的裁剪图像的裁剪用到Variable Selector 模块。Variable Selector模块在Video and Image Processing Blockset 中的Utilities 模块库中,它可以实现图像的裁剪功能。Variable Selector模块的输入端不接受RGB真彩色图像,所以需要先将图片转换为灰度图像。可以在matlab的Command Window窗口中输入以下命令:I=imread(D:Library RGB.png);I1=rgb2gray(I);imwrite(I1,D:Library.png); %将灰度图像存在D盘其步骤如下:(1)新建一个simulink模型;(2)在模型窗口中加入如下图2.41所示的各个模块。连接各模块,如图2.41所示;图2.41 图像裁剪的仿真模型(3)双击模型窗口中的各模块,对其进行参数设置: Image From File模块:Main标签下文本框点击Browse,选择Library.png; Variable Selector模块:Number of input signals文本框输入1,Select下拉列表框选择Columns, Selector mode下拉列表框选择fixed,在Elements文本框内输入【100:300】Variable Selector1模块:Number of input signals参数设置为1,Select下拉列表框选择Rows; Selector mode下拉列表框选择fixed,在Elements文本框内输入【100:300】(4)设置仿真器参数;(5)保存模型文件,并运行该仿真。运行结果如图2.42、图2.43所示。图2.42 图像裁剪的原图图2.43 裁剪后的图像比较两图可以看出,按照本例中设置的行列裁剪参数100:300,原始大小为334503的图像,行列方向均只留下从100到300像素的部分,其余部分被裁掉,图像大小也变成了201201。两个Variable Selector模块分别用于设置行和列的裁切操作。第三章 图像的代数运算和灰度变换在数字图像处理中,代数运算具有广泛的实际应用和重要的实际意义。例如,如何消除或降低图像的加性随机噪声,消除不必要的加性图案,如何检测同一场景下两幅图像的相互变化等等。同时,代数运算也可用于将一副图像叠加到另外一副图像上,从而实现二次曝光。也可用于确定物体边界位置的梯度,用于纠正由于数字化设备对一副图像各点敏感度不一样带来的影响,用于获取图像的局部图案等9。3.1 加法运算加法运算通常用于平均值降噪等场合。图像相加一般用于同一场景下的多幅图像相加求平均,以便有效地降低加性噪声。当噪声可以用一个独立分布的随机模型表示的时候,可以利用平均值方法降低噪声信号,这对于提高信噪比非常有效10。在Simulink 中,图像的相加可以用Sum 模块实现。Sum模块在Simulink 模块集中的Commonly Used Blocks 中,它可以实现两幅图像的加法运算。需要注意的是,Sum 模块在进行图像相加的时候,两幅图像的尺寸(即像素的长宽高度)必须是一样的。所以就需要先要对其中一幅图像进行裁剪,这就需要用到Variable Selector 模块。其步骤如下:(1)为了方便地进行图像相加,需要先把图像转化为灰度图像。所以先在matlab 的Command window窗口输入以下命令:A=imread(D:athletic track.png);A1=rgb2gray(A); %把RGB图像转换为灰度图像。(2)新建一个Simulink模型;(3)在模型窗口中加入如下图3.11所示的各个模块。连接各模块,如图3.11所示;图3.11 图像加法运算的仿真模型(4)双击模型窗口中的各模块,对其进行参数设置: Image From Workspace模块:Main标签下文本框输入A1;Image From File1模块:Main标签下File Name文本框输入rice.png;Variable Selector模块:Number of input signals文本框输入1,Select下拉列表框选择Columns,Selector mode下拉列表框选择fixed,在Elements文本框内输入【123:378】;Variable Selector1模块:Number of input signals参数设置为1,Select下拉列表框选择Rows, Selector mode下拉列表框选择fixed,在Elements文本框内输入【38:293】(5)设置仿真器参数;(6)保存模型文件,并运行该仿真。运行结果如图3.12、图3.13、图3.14、图3.15所示。图3.12 加法的原图图3.13 Matlab 自带图片图3.14 原图裁剪后的图像图3.15 加法运算后的图像原图的像素长宽为332502,列裁剪参数为【123:378】,行裁剪参数为【38:293】,则水平方向保留123到378的像素,垂直方向保留38到293的像素。这样裁剪后的图像就如图3.14所示,比例大小为256256。这样和Matlab 中自带的rice.png 图像相加后。可以发现两幅图像完全叠加在一起了。这就是图像的加法运算。3.2 图像的灰度变换生活中我们接触到的图像大都是彩色图像,也就是RGB图像,它分别用R(红色)、G(绿色)、B(蓝色)三种原色的组合来表示每个像素的颜色。数字图像中每一个像素的颜色值是直接存储在图像矩阵中,由于每一个像素的颜色值要用R、G、B三个分量来表示,因此RGB图像的图像矩阵与其他类型的图像矩阵不同,它是一个三维矩阵。RGB图像的数据类型一般为8位无符号整型,通常用于表示和存放真彩色图像。而灰度图像矩阵元素的取值范围为0,255,因此其数据类型为8位无符号整数,这就是人们经常说到的256级灰度图像。在数字图像处理过程中,我们经常会要用到灰度图像。这就需要我们把日常生活中常见的RGB真彩色图像转换为灰度图像。我们可以用到Matlab中的图像处理工具箱中的rgb2gray函数来转化为灰度图像。当然,我们也可以利用Simulink中的Color Space Conversion模块来完成灰度变换。Color Space Conversion模块是在Video and Image Processing Blockset 模块集中的Conversions 模块中。它其中的RGB to intensity选项可以将真彩色图像转换为灰度图像。其步骤如下:(1)新建一个Simulink模型;(2)在模型窗口中加入如下图3.21所示的各个模块。连接各模块,如图3.21所示;图3.21 灰度变换的仿真模型(3)双击模型窗口中的各模块,对其进行参数设置: Image From File模块:Main标签下文本框点击Browse,选择Library.png;Color Space Conversion模块:Conversion下拉菜单选择RGB to intensity;(4)设置仿真器参数;(5)保存模型文件,并运行该仿真。运行结果如图3.22、图3.23所示。图3.22 灰度变换的原图图3.23 灰度变换后的图像第四章 图像的增强图像增强是指采用某种技术手段,根据特定的需要有选择性地突出图像中某一部分的信息,并且抑制其中一些不需要的信息的处理方法,其目的是为了改善图像的视觉效果,便于观看或做进一步分析处理。目前图像增强的方法可分为空域法和频域法两大类,前者通过直接对图像的像素点进行操作来改变图像的显示效果,后者则间接地通过对图像的某个变换域进行操作来改善显示效果,具体包括灰度变换增强、图像平滑、图像锐化、色彩增强、频域增强等多种方法11。4.1 灰度变换增强可以用直接灰度变换增强方法,获取的主要视觉效果是增强图像对比度。用对比度调节Contrast Adjustment 模块可以直接进行灰度变换。Contrast Adjustment 模块是在Video and Image Processing Blockset 模块集中的Analysis Enhancement 模块库中。其步骤如下:(1)新建一个Simulink模型;(2)在新建模型窗口中加入如下图4.11所示的模块。连接各种模块,如图4.11所示; 图4.11 灰度变换增强的仿真模型(3)双击模型窗口中的各模块,对其进行参数设置: Image From File模块:Main标签下文本框点击Browse,选择Library.png;Contrast Adjustment模块:Main标签下的Adjust pixel values from下拉列表框选择Range determined by saturating outlier pixels;(4)设置仿真器参数;(5)保存模型文件,并运行该仿真。运行结果如图4.12、图4.13所示。图4.12 灰度变换增强的原图图4.13 灰度变换增强后的图像由结果可看出,图像经过Contrast Adjustment 模块进行灰度变换增强处理后,处理后的图像的对比度明显增强。4.2 图像的平滑增强图像平滑处理一般通过低通滤波器实现,例如均值滤波和中值滤波。获取的增强效果是平滑图像细节,去除图像噪声。用中值滤波Median Filter模块去除椒盐噪声。Median Filter 模块是在Video and Image Processing Blockset 模块集中的Analysis Enhancement 模块库中。实现步骤如下。 (1)为了便于观察图像平滑效果,先准备一幅含有椒盐噪声的图像。在Command Window(命令窗口)内输入以下命令: A= imread(D:Library.png); % D:Library.png是存在D盘的一张灰度图像;B= imnoise(A,salt pepper,0.02); %加上椒盐噪声;(2)新建一个Simulink模型;(3)在新建模型窗口中加入如图4.21所需模块,连接各模块,如图4.21所示; 图4.21 图像平滑增强的仿真模型(4)双击模型窗口中的各模块,对其进行参数设置: Image From Workspace模块:Main标签下Value文本框输入A; Image From Workspace1模块:Main标签下Value文本框输入B; Median Filter模块:各参数均采用默认设置;(5)设置仿真器参数;(6)保存模型文件,并运行该仿真。运行结果如图4.22、图4.23、图4.24所示。图4.22 平滑增强的原图图4.23 加椒盐噪声的图像图4.24 去除椒盐噪声的图像对三幅图像进行比较,明显可以看出,加入椒盐噪声后的图像经过Median Filter 模块进行图像平滑处理后,椒盐噪声被去除,同时其余的图像细节也被平滑处理。4.3 图像的锐化增强数字图像的边缘、细节主要位于高频部分,而图像的模糊主要是由于高频成分比较弱而产生的。频率域的锐化增强就是为了消除模糊,突出图像的边缘和细节部分。图像锐化处理一般通过高通滤波器实现,让高频成分通过,使低频成分削弱,获取的主要视觉效果是增强图像边缘,补偿图像轮廓,使原来模糊的图像变得清晰。用FIR滤波器2-D FIR Filter 模块进行图像锐化增强处理。2-D FIR Filter模块是在Video and Image Processing Blockset 模块集中的Filtering模块库中。其步骤如下:(1)先读入一幅RGB图像。在Command Window(命令窗口)内输入以下命令: A= im2double(imread(D:campus scenery.png); % campus scenery.png是存放在D盘的真彩色RGB图片;(2)新建一个Simulink模型;(3)在新建模型窗口中加入如图4.31所示的模型。连接各个模型,如图4.31所示; 图4.31 图像锐化增强的仿真模型(4)双击模型窗口中的各模块,对其进行参数设置: Image From Workspace模块:Main标签下Value文本框输入A,Image signal 下拉列表选择Separate color signals; Color Space Conversion模块:Conversion 下拉列表框选择RGB to YCbCr,Image signal 下拉列表选择Separate color signals; 2-D FIR Filter模块:将Main标签下的Coefficients 文本框输入fspecial(unsharp)以建立二维高通滤波器,Output size 下拉列表选择Same as input port 1,Padding options 下拉列表框选择Symmetric,Filtering based on 下拉列表选择Correlation。Color Space Conversion1模块:Conversion 下拉列表选择YCbCr to RGB,Image signal 下拉列表框选择Separate color signals; 两个Video Viewer模块:均将Image signal下拉列表选择Separate color signals。(5)设置仿真器参数;(6)保存模型文件,并运行该仿真。运行结果如图4.32、图4.33所示。图4.32 锐化增强的原图图4.33 锐化增强后的图像对比两幅图像可以看出,原始图像经过2-D FIR Filter 高通滤波器进行图像锐化处理后,图像中植物和建筑物的轮廓和边缘更加明显,图像显得更加清晰了。第五章 图像的形态学操作一副二值图像的二维矩阵仅由0、1 两个数值所构成,“0”代表黑色,“1”带白色。由于每一像素的取值仅有0、1两种可能,所以计算机中二值图像的数据类型为一个二进制位。二值图像通常用于文字、线条图的扫描识别和掩膜图像的存储。二值图像可以看成是灰度图像的一个特例。数学形态学是计算机数字图像处理中的一个重要研究领域,主要用于获取图像目标的形状特征,在对图像目标进行定量描述与分析的应用领域中发挥了重要的作用12。 数学形态学操作这种方法通常用于二值图像的处理。二值图像形态学最基本的运算是膨胀和腐蚀,利用膨胀和腐蚀运算可以组成开启和闭合等其它形态学运算,为图像识别等领域提供数学运算支持。5.1 形态学方法分析硬币图像里的硬币数量MATLAB自带图像文件夹中有一个coins.png 文件,该硬币图像是一幅灰度图,现在希望计算机能自动计算该图像中所含硬币的数量。在Simulink中的操作思路是:先把灰度图转为二值图像,然后利用形态学开运算对二值图像进行处理,再用Label 模块对目标进行计数,最终通过Display 模块来进行数码显示。其中需要用到的模块Autothreshold 模块、Lable 模块、Opening 模块、Display模块。Autothreshold 模块是在Video and Image Processing Blockset 模块集中的Conversions 模块库中,它主要的功能是可以把灰度图像转化为二值图像;Lable模块是在Video and Image Processing Blockset 模块集中的Morphologica Operations 模块库中,它可以对输出端的目标进行计数;Opening 模块是在Video and Image Processing Blockset 模块集中的Morphologica Operations 模块库中,它可以对二值图像进行形态学开运算;Display模块是在Simulink模块集中的Sinks 模块库中,它可以实现对信号的数码显示。具体操作步骤如下: (1)新建一个Simulink模型;(2)在新建模型窗口中加入如图5.11所示的各个模块,连接各模块,如图5.11所示;图5.11 形态学分析硬币数量的仿真模型(3)双击模型窗口中的各模块,对其进行参数设置: Image From File模块:在Main标签下File name文本框输入coins.png; Autothreshold模块:Main标签下Scale threshold复选框选中,在其下的Threshold scaling factor文本框中输入0.9; 两个Label模块:Output下拉列表框选择Number of labels;(4)设置仿真器参数;(5)保存模型文件,并运行该仿真。运行的图像输出结果如图5.12、图5.13、图5.14所示。图5.12 硬币原图图5.13 二值图像图5.14 开运算后的图像图5.13是经过Autothreshold 模块处理后的二值图像,它可以把灰度图像转换为二值图像。图5.14为执行了形态学开启操作后的图像。运行的计数结果如图5.11中Display模块上显示的数字所示,即计数结果为10。由三幅图像中可以看出,由于原图中有一个硬币的颜色接近画面的背景颜色,因此在将灰度图转为二值图像后,在该位置的白色目标区域就会被细分成多个小块,这时如果直接对该图直接进行目标计数,得到的结果为12(如图5.11 Display1模块上显示的数字),这明显是一个是错误的结果;而在经过对该图进行形态学开运算操作后,该白色区域被连通,细小的白色小块会被腐蚀掉。在图5.14中可以明显看到这枚硬币变小了。这时再对图像进行目标计数,就会得到正确的结果10。5.2 形态学操作去除噪声5.2.1基本原理基本的形态学运算是腐蚀和膨胀。简单的腐蚀是消除物体的所有边界点的一种过程,其结果使剩下的物体沿其周边比原物体小一个像素的面积。如果物体是圆的,它的直径在每次腐蚀后将减少2个像素,如果物体任一点的宽度少于3个像素,那么它在该点将变成非连通的,即变成两个物体13。腐蚀对从一副分割图像中去除细小且无意义的物体来说是非常有用的。简单的膨胀是将与某物体接触的所有背景点合并到该物体中的过程,过程的结果是使物体的面积增大了相应数量的点。如果物体是圆的,它的直径在每次膨胀后增大两个像素,如果两个物体在某一点相隔少于3个像素,它们将会在该点连通起来,即合并成一个物体14。膨胀在填补分割后物体中的空洞很有用处。先腐蚀再膨胀的过程称之为开运算。它具有消除细小物体,在纤细点处分离物体和平滑较大物体边界时又不明显改变其面积的作用。先膨胀再腐蚀的过程称之为闭运算。它具有填充物体内部细小空洞、连接邻近物体、在不明显改变物体面积的情况下平滑其边界的作用。一般情况下,当有噪声的图像用阈值二值化时,所得到的边界通常是很不平滑的,物体区域会有一些错判的孔洞,背景区域上则散布着一些细小的噪声物体,而通过连续的开、闭运算可以显著地改善这种情况15。所以连续的开、闭运算可以去除数字图像中的噪声,改善图像的视觉效果。5.2.2 实际案例操作把D盘的文件变化为灰度图像,加上椒盐噪声,转化为二值图像,经过形态学开运算和闭运算去除椒盐噪声。 主要用到的模块有Autothreshold 模块、Opening 模块、Closing 模块。Autothreshold 模块是在Video and Image Processing Blockset 模块中的Conversions 模块库中,它主要的功能是可以把灰度图像转化为二值图像;Opening 模块是在Video and Image Processing Blockset 模块集中的Morphologica Operations 模块库中,它可以对二值图像进行形态学开运算;Closing 模块是在Video and Image Processing Blockset 模块集中的Morphologica Operations 模块库中,它可以对二值图像进行形态学闭运算。其具体的实现步骤如下:(1)为了便于观察图像去噪效果,先准备一幅含有椒盐噪声的图像。在Command Window(命令窗口)内输入以下命令:I=imread(D:library in the snow.jpg); % library in the snow.jpg 是一张真彩色图像A=rgb2gray(I);%对真彩色图像进行灰度变换B= imnoise(A,salt pepper,0.02);%对灰度图像加上椒盐噪声(2)新建一个Simulink模型;(3)在新建模型窗口中加入如图5.21所示的各个模块,连接各模块,如图5.21所示; 图5.21 形态学去除噪声的仿真模型(4)双击模型窗口中的各模块,对其进行参数设置: Image From Workspace模块:在Main标签下Value文本框输入A; Image From Workspace1模块:在Main标签下Value文本框输入B; Autothreshold模块:Main标签下Scale threshold复选框勾选,在其下的Threshold scaling factor文本框输入0.9; Opening模块中Neighborhood or structuring element填上strel(disk,2)Closing模块中Neighborhood or structuring element填上strel(line,5,30)(5)设置仿真器参数;(6)保存模型文件,并运行该仿真。运行的图像输出结果如图5.22、图5.23、图5.24、图5、25、图5.26所示。图5.22 灰度图像原图图5.23 加椒盐噪声后的图像图5.24 二值图像图5.25 开运算后的图像图5.26 闭运算后的图像由结果可以看出,将原图中加入噪点以后,深色背景下的噪点为白色,浅色背景下的噪点为黑色,为了使背景与噪点更加容易区分,将加噪后的图像二值化。因此在将灰度图转为二值图像后,可以清楚地观察出黑色背景和白色背景上的噪点,这时再对二值化图像进行形态学操作:开启运算可以去除黑色背景上的噪点,闭合运算可以去除白色背景上的噪点。经过连续的开、闭运算,可以达到对图像去除噪声的效果。 结论Simulink 作为对Matlab 语言运算环境的扩展,在保持Matlab 一般性能的基础上,结合工具箱的使用,可以完成对连续系统、离散系统、连续与离散混合系统的动态性能的仿真与分析。在新版本中,可以对图像和视频进行处理并仿真,观察仿真的执行过程,仿真结果直接保存在Matlab 的工作间中。Simulink 为用户提供了用方框图进行建模的图形接口,实现了可视化的仿真建模。基于Simulink的数字图像处理应用需要用户在使用视频和图像处理模块集时,选用所需的模块绘制好仿真系统框图,设定好各模块的参数和系统的参数,即可启动仿真工作,完成对数字图像的相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论