APP下载

基于MATLAB的数字图像增强软件平台设计

2017-06-05赵晓鹏夏平

电脑知识与技术 2017年10期

赵晓鹏 夏平

摘要:数字图像处理中所涉及的内容广泛且理论较深奥,学生难以理解并掌握其中的核心方法,为此,开发的数字图像增强软件平台有助于增强学生对相关知识的理解和掌握。首先,搭建软件平台框架时对图像增强内容进行整合为空域线性、空域非线性、频域滤波三大类别,归纳并实现每一类别的经典算法;最后,在MATLAB环境中构建GUI平台,嵌入实现的图像增强算法。实验结果表明,本软件平台仿真实现的图像增强算法,结果清晰、正确,界面友好,辅助数字图像处理相关内容教学,对增强学生对相关理论知识和算法的理解、激发学生学习兴趣性有促进作用。

关键词:数字图像增强;MATLAB;空域滤波;频域滤波

中图分类号:TP391

文献标识码:A

文章编号:1009-3044(2017)10-0165-03

“数字图像处理”是电子信息工程、通信工程等专业的专业必修课程,数字图像处理技术涵盖的知识面宽泛,包含了图像采集、图像变换、图像增强、图像锐化等多个内容,每部分内容也都多種处理算法,所涉及的知识点多、难度大,因此,学生的学习与理解难度均比较大。与此同时,老师在授课过程中也会因此遇到教学质量不高等问题。为解决“数字图像处理”课程教学中的这类问题,不少高校教师及其团队设计出该课程的教学辅助软件作为相关的解决方案,数字图像处理诸多教学辅助平台将整个图像处理内容聚集于一体,因而每一模块只能选取1-2个算法加以实现,所以,每一部分所涉及算法偏少,对于其他算法学生还是难于理解。

本文集中于数字图像增强部分,平台详细规划、设计图像增强所涉及的相关算法,构建基于MATLAB GUI的软件平台,针对性的解决图像增强部分理论与算法的理解和掌握。

1.GUI软件平台设计

1.1总体架构

软件平台界面的设计需要根据软件的最终需求来确定,由于本软件的目标是将图像增强的各种经典算法集成在一个软件平台上,因此,软件的总体架构从图像噪声加入、空域滤波、频域滤波以及仿真结果显示等四个方面构建。如图1所示。

平台中空域滤波和频域滤波各滤波方案均需要有滤波器参数的输入,人为可调节参数,因此,还需要设计相关滤波器参数的输入模块。

1.2界面设计

1.2.1软件平台主界面设计

使用鼠标将设计界面左侧GUI对象选择区的各个对象,按照需求拖到GUI布局区,放在合适的位置,并调整至合适的大小。完成软件的主界面布局,按照需求,本软件的主界面布局如图2所示。

图中的共有四个被红线围住的方框,分别为:

1)原始图像:显示输入的原始图像以及添加噪声后的图像;

2)滤波图像:显示加噪图像经过滤波处理后的图像;

3)对原始图像添加噪声:在此窗口内输入原始图像,并且选择相应的噪声类型,添加在原始图像上;

4)滤波:所有的滤波操作均放在该方框内,在此处进行左右的滤波操作。

1.2.2软件平台次界面设计

滤波功能板块共有三类滤波方式,分别为空间域线性滤波、空间域非线性滤波、频域滤波。每一类滤波方式所需要的参数分别设计成一个参数输入界面,作为人机交互的界面。频域滤波模块所涉及的滤波方式与空间域线性滤波方式类似,因此,将两种类别的参数输入次界面采用同一个次界面;基于此,共设计三个参数输入的次界面。如图3所示。

由于每一种滤波模块中均有多种滤波器可供选择,且滤波器参数各不相同,因此,需要在每一个参数输入的次界面上,添加一个按钮“提示所需输入的参数”,以便当使用者不清楚应该输入哪些参数的时候,点击该按钮获得提示信息。当用户输入参数,点击“确定”按钮,回到软件平台的主界面。

1.3功能实现

软件中最主要的模块有“对原始图像添加噪声”和“滤波”两大模块。

1.3.1“原始图像加噪”模块

1.3.2“滤波”模块

按照滤波方式不同,共分为“空间域滤波”和“频域滤波”两大类,每一大类滤波方式又细分为若干算法。

2.实验结果与分析

本文以输入cameraman.tif灰度图像为例,向原始图像添加密度为0.2的椒盐噪声,分别在空域、频域中对加噪图像进行滤波处理,效果如图4所示。

图4(c)所示的结果可以看出,中值滤波对于椒盐噪声具有较好的滤除效果,图中椒盐噪声点大幅度降低,滤波后图像效果较好。

图4(d)所示为使用截止频率为60的理想低通滤波器滤波后的图像,显示的图像模糊;主要由于采用理想低通滤波器在滤去噪声同时,滤除了图像中部分高频信息。

3.结论

本软件平台共集成了23种滤波器,其中,空间线性滤波5种,非线性滤波10种,空域滤波频域处理5种,低通频域滤波3种,涵盖了图像增强中大部分经典算法,这些算法为“数字图像处理”教学中重点内容。因此,该软件平台中所涉及的相关算法,有助于加强学生对相关内容的理解和掌握。

同时,本软件的滤波器均可调节输入参数,因此,学生通过改变参数的输入值,与教材讲解的理论知识作对比验证,体会相关算法的参数对滤波效果的影响。

本软件是利用MATLAB2016a环境下的可视化图形用户界面开发完成的,充分利用图像处理工具包以及GUI编程特点,使得界面简单流畅,操作界面友好。