张 勇 曹高飞 潘 宏
(泸州医学院,四川 泸州 646000)
图形用户界面GUI(Graphical User Interfaces)是面向对象的用户界面,包含窗口、图标、菜单、文本等对象,它提供了人机交互的工具和方法。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。在MATLAB中的GUIDE就是图形用户界面开发环境(Graphical User Interface Development Environment),它向用户提供了一系列的创建用户图形界面的工具,这些工具大大简化了设计和生成的过程。设计一个GUI程序可分为三个步骤:1)图形界面设计2)控件属性设置3)程序代码编写。下面就以此步骤介绍实现图像分割的GUI程序。
用GUIDE版面设计器根据比较设计需要首先拖拽两个图形窗口Axes,一个作为待处理图片区域,另一个作为已处理图片区域;其次,拖拽1个下拉菜单Pop-up menu作为图像分割算法的选择按钮;第三,拖拽3个按钮Push Button作为输入图像、保存图像、退出界面的按钮;第四,拖拽一个Slider微调按钮,实现阈值的选取;第五,拖拽一个Edit Text编辑文本框,实现编辑文本框与微调按钮的同步;最后,合理布局所有按钮及图形,使界面达到美观工整后运行GUI,系统自动生成GUI文件。
控件是GUI必不可少的组成部分,每一个控件都有其各自的属性。在初步定好GUI界面时,需要对添加在上面的控件进行基本属性的设置。需要设置的属性主要有:FontSize、String、Tag、Max、Min、Resize、Units。
属性设置好之后,图像分割主界面如图1。
图1 图像分割的GUI主界面
图像分割GUI界面设计完成后需要在按钮的callback回调函数中添加代码。
①将待处理的图像载入图形窗口的程序代码如下:
运行结果如图2所示。
图2 载入图像后GUI界面
②保存图像的程序代码:
运行结果如图3所示。
图3 保存处理后的图像
③退出界面回调函数程序代码:
下拉菜单pop-up menu回调函数程序代码:
运行结果如图4,图5所示。
图4 roberts算子图像分割
图5 sobel算子图像分割
编辑文本框Edit Text回调函数程序代码:
图像分割是指根据需要将图像划分为有意义的若干区域或部分的图像处理技术。MATLAB图形用户界面的应用,使基于阈值的图像分割处理变得更加的简洁和直观。