APP下载

基于MatlabGUI的图像处理平台设计

2018-01-09任海鹏邓春红

电脑知识与技术 2017年34期
关键词:可视化

任海鹏+邓春红

摘要:随着图像处理需求的增大,单一算法处理图像信息已不能满足人们的需求。本文利用Matlab GUI组件,结合图像处理工具箱,设计一个全新的图像处理平台。该处理平台中包含对图像处理算法的集成、用户交互区的可视化及二次开发接口设计,为用户带来了便利,使用户处理图像的效率加快,并且得到的图像信息更完整。在该平台上进行图像处理,能够最大程度的减轻用户顾虑,最大程度的满足用户需求,从而,增大用户的使用率。

关键词:可视化;Matlab GUI组件;用户交互区;图像处理平台

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)34-0205-03

Abstract: With the increasing demand for image processing, single image processing algorithms can not meet the needs of people. In this paper, Matlab GUI component is combined with image processing toolbox to design a new image processing platform. The design of integrated visualization and user interaction area of image processing algorithm and the two interface comprises the processing platform, brings convenience to users, users to speed up the efficiency of image processing, image information and get more complete. The image processing on the platform can reduce the user's worry to the greatest extent and satisfy the user's demand to the greatest extent, thus increasing the user's utilization rate.

Key words: visualization; Matlab GUI components; user interaction area; image processing platform

1 概述

隨着技术的发展,图像处理算法技术也达到了较高的水平,并且在Matlab中已经被实现,但这些算法是以函数的形式存在于图像处理工具箱中,因此,对于使用者的专业素养有较高的要求。它需要使用者查询相关专业书籍才能进行图像处理,因此,给使用者带来极大的不便[1]。同时随着需求的增大,单一算法处理图像信息已经不能满足人们的需求,因此,需要开发出一款集所有算法于一体的图像处理平台。只有这样,才能满足各行业、各领域的需求,才能被广泛使用[2]。

2 系统设计整体方案

设计这个方案主要是为了将处理图像的方法进行系统化,方便用户使用。使他们能够在一个系统中就能够使用多种图像处理的方法。在一定程度上,能够增大用户与系统之间的互动,同时还能为用户提供二次开发端口,使用户处理图片的效率提高。

2.1 平台总体功能设计

平台总体功能设计如下:包括算法的集中、用户与系统之间互动的可视性以及提供二次开发的端口。算法的集中包括对现有算法的集中和对于新算法的集中。具体功能如下所述:

1) 对现有的算法进行集中操作,使用户能够直接调用函数。根据各个算法功能的不同,进行分类。例如,傅里叶变换、小波变换、离散变换等属于图像变换类型,应归为一类[3]。使用户在一个平台就可以对各种图像进行图像处理。

2) 对新算法进行集中操作,对新研发出的算法进行集中处理。新算法包括改进水平集算法、交互式图割法、细胞自动机分割算法等,这些算法均是针对图像切割处理的。将新研发出的算法按照功能的不同,进行分类集中处理。

3) 用户与系统之间的互动的可视性,代表的是用户在使用该系统处理图像时,结果的可视性,以及用户还能够与系统之间进行专门的互动。用户在进行图像处理时,可以同步观察到图像的变化,能够实时掌握图像的处理结果。

4) 提供二次开发端口,代表的是用户不仅能够在系统上进行图片处理,同时还能上传自己习惯的算法进行图片处理,加快图片处理进程。设计二次开发接口,为用户进行二次处理图像提供方便,使用户在使用该平台时感觉熟悉,不会觉得陌生。

2.2 总体布局设计

一个受喜爱的图像处理平台必定具有优秀的图像处理模式,能够满足大多数用户的需求。方便用户进行图像处理。因此,本系统设计了快捷按钮来实现操作的便捷性,用户只需要通

过点击菜单栏即可操作按钮对图像进行处理。具体的布局设计图如图1所示:

通过系统自带的工具包可以自由对布局进行调整,以达到自己喜爱、方便的目的。

1) 菜单功能区设计。菜单功能区包括了该系统中的所有功能,使用户能够简单明了的操作该系统。其具体功能如下:包含了文件操作、图像增强、图像变换、图像恢复、图像分割以及帮助栏等功能。点击对应按钮即可实现对图像的快捷处理。

2) 快捷按钮功能区和用户交互按钮区设计。快捷按钮功能区与用户交互按钮区中包含了算法快捷按钮与互动按钮。方便了用户操作的同时,也增加了用户与系统之间交流互动的机会。使处理后的图像能够最大程度的满足用户需求。

3) DEMO显示区和可视化效果显示区设计。图1中所示的两个矩形区域即代表DEMO显示区和可视化效果显示区。它们的作用在于,对图像进行处理时,能够同步观察到图像的变化,以及最后处理的结果。而且,可以通过调节矩形区域的大小来控制显示区域的大小。方便用户更直观的了解处理后图片的效果[4]。endprint

3 图像平滑子模块的具体实现

3.1 系统界面的构建

本系统的开发环境为MA TLAB R2013a,第一步先在MATLAB的主菜单栏单击GUIDE按钮,再选择Blank GUI(Default)模板,点击ok界面就会弹出设计栏目,将设计栏目保存为LBF_DIP,系统中就会生成两个文件。在设计栏中,添加两个Axes对象。按照计划改变两个Axes的位置和大小达到目标。在设计窗口中打开Menu Editor,菜单计时分为Menu和Menu Item。点击ok按钮,然后系统会自动将该文件保存在LBF_dip内并会在其后自动添加上CallBack函数,在CallBack函数内编写MATLAB代码能够实现具体图像处理算法。

文件菜单和图像平滑菜单中部分内容设计如下表1所示:

3.2 仿真系统能够处理的图像类型

仿真系统能够处理系统中所包含的函数类型,提高其准确性与便捷性。它能够处理的图像类型包括了,bmp,jpg,tif等。由于这些都是彩色图像,因此,在对图像进行处理之前,应该利用RGBtoGray菜单中的RGBtoGray_Callback函数将彩色图像转换成灰色图像。这是由于系统处理的图像只针对于灰色图像,而且,灰色图像处理出来图像信息更为清晰眀了。

3.3 图像平滑子模块的代码实现

由于图像在传输过程中容易受到干扰,使图像信息变得模糊,因此,就需要对其进行平滑处理,其目的是为了降低干扰。对图像进行平滑处理时,可以在空间中进行,也可以在频率上进行。对空间中处理图像所采用的方法一般是中值滤波法和邻域平均法。

邻域平均值法,是在原图像的基础上,对其每一个像素点取邻域进行灰度值平均计算,将此灰度值作为处理后图像的像素点值。这种方法具有计算简便快捷的优点,但同时也具有使图像变模糊的缺点。尤其在图片边缘处更为明显,因此,要设计出更好的方法来替代此方法。

中值滤波法,是使用一个含有奇数个像素点的滑动窗口进行替换的方法。将窗口中最中心的一个像素点移动到图像的领域中,使领域中的灰度平均值代替该滑动窗口中的像素点值,从而形成一个新的图像。由于它是非线性运动的,因此,它抗干扰能力较强。但是,用于处理细节多的图像也不合适。太为繁琐复杂。

3.4 综合例子子模块的设计

综合例子子模块是该处理平台的一个全新的组成部分。它能够提供许多生活中的例子,增大用户的兴趣性及使用性,使用户在使用过程中也能感受到乐趣。同时,用户能够在最大程度上了解该平台的功能,在使用的过程中也能对该平台提供改进意见等。以使该平台达到完美状态。

由于综合例子的呈现较为复杂,因此,需要专门设计一个GUI界面,并单独对其编码后才能调用。

4 系统各模块的功能实现

以Windows XP操作系统中的Matlab2009为例,对该系统进行编码处理,系统各模块具体功能实现如下所示。

4.1 平台主界面实现

该图像处理平台的运行主界面如下图所示。

图2中所示界面最上方是该系统中的各项主要功能,接着是各项功能下的快捷按钮,最右方是用户交互区按钮和集成按钮区。该图所示为均衡化图像处理算法和gcbac图像分割算法共同作用时的运行界面。

4.2 用户交互区设计实现

用户交互区的实现是通过点击图2中的用户交互区按钮,采用动态边缘检测算法对图像进行处理,其用户交互区显示界面如下图3所示。

图3(a)是使用鼠标左键对图像进行标记处理,标记出需要进行分割的范围,接着,图3(b)显示的是图像处理中间过程,该过程是对图像进行初次分割后的结果,可以操作鼠标左键对图像进行二次分割,直到达到用户的需求。图3(c)是处理后的最终图像信息,通过操作鼠标右键来停止分割处理操作,使图像呈现最完美状态。

该功能设计的目的是为了弥补系统中算法设计的不足,通过多次分割处理来使图像呈现最完美的一面,既提高了图像质量,也使用户与图像有最为直接的交流。是该系统优化设计必不可少的一部分。

4.3 二次开发接口设计实现

二次开发接口的实现是通过点击图2中的集成说明按钮,它能够对用户提供的新算法进行集成。点击以后,会出现图4所示界面。

按照图4文本框中的文字说明对新算法进行命名,并按照要求操作,最后保存下来,那么一个新算法就集成好了。

该二次开发算法模板是系统直接提供的,用户提供的新算法可以利用该模板中的提示信息进行更改、复制、粘贴、保存。更改是针对于某些参数,复制粘贴是针对于集成代码,通过这一系列操作以后,一个新的算法就形成了,作为二次开发接口而存在。

5 结束语

利用Matlab GUI组件,结合图像处理工具箱,设计出了一个全新的图像处理平台。该处理平台中包含了对图像处理算法的集成、以及用户交互区的可视化,同时,还包含了二次开发接口设计,是一款比较全面的图像处理平台。该平台中的算法部分来源于Matlab系统,也有新开发的分割处理算法。新设计的用户交互区的可视化以及二次开发接口,为用户带来了便利,使用户处理图像的效率加快,并且得到的图像信息更完整。

参考文献:

[1] 蔺红,陈洁.Matlab在电路理论分析中的应用[J].计算机应用与软件,2007(3).

[2] 潘文霞,范永威,陸小花,等.MATLAB在电路教学中的三种应用方法[J].电力系统及其自动化学报,2006(6).

[3] 秦辉,席裕庚.基于Matlab GUI的预测控制仿真平台设计[J].系统仿真学报,2006(10).

[4] 杨娟,郭海湘,杨文霞,等.基于MATLAB的GUI设计车辆路径问题的仿真优化平台[J].系统仿真学报,2012(3).endprint

猜你喜欢

可视化
无锡市“三项举措”探索执法可视化新路径
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
三维可视化信息管理系统在选煤生产中的应用
基于Power BI的油田注水运行动态分析与可视化展示
自然资源可视化决策系统
基于CGAL和OpenGL的海底地形三维可视化
可视化阅读:新媒体语境下信息可视化新趋势
“融评”:党媒评论的可视化创新
重大主题报道的可视化探索——以浙江日报的实践为例