GUI图像处理软件制作详细介绍论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于GUI的图像处理软件平台的开发

机械研07,蔺勇智,0720101004

摘要:本文主要介绍了基于MA TLAB的图形用户界面(GUI)来制作图像处理软件平台的具体过程和相关技巧,文章主要从几个方面展开论述:第一,简单介绍下GUI与GUIDE;第二,介绍以下GUIDE的模板及其操作方法;第三,详细阐述一下图像处理软件平台的制作方法。本文的GUI例子所制作的图像处理软件可以实现的功能有:五种常用的边缘检测、灰度直方图的显示、灰度直方图的均衡化、对比度自适应直方图的均衡化、图片的二值化以及彩色图片的灰度化。文章基本介绍了以上的内容,关于软件还有许多未能实现的功能有待于日后的逐步开发,从这个简单的实例可以让读者从感性的方面充分了解MATLAB的图形用户界面的相关功能,同时为打算深入学习这一套MATLAB 工具集的读者做一个铺垫。

关键词:图形用户界面;图像处理;边缘检测;MA TLAB工具集

一、引言

图形用于界面(Graphical User Interfaces,GUI)是提供人机交互的工具和方法。GUI是包含图形对象(如窗口、图标、菜单和文本)的用户界面。以某种方式选择或激活这些对象时,通常会引起动作或者发生变化。一个设计优秀的GUI能够非常直观的让用户知道如何操作MA TLAB界面,并且了解设计者的开发意图。MA TLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。这样可以使开发者不必理会一大堆烦杂的代码,简化程序,但是同样可以实现向决策者提供图文并茂的界面,甚至达到多媒体的效果。可以说MATLAB提供了一个简便的开发环境,可以让开发者快速上手,提高了开发者的工作效率。

所谓的GUIDE就是图形用户界面开发环境(Graphical User Interface Development Environment),它向用户提供了一系列的创建用户图形界面的工具。这些工具大大简化了GUI设计和生成的过程。GUIDE可以完成的任务有如下两点:1)输出GUI。2)GUI编程。GUIDE实际上是一套MATLAB工具集,它主要由七部分组成:版面设计器、属性编辑器、菜单编辑器、调整工具、对象浏览器、Tab顺序编辑器、M文件编辑器。

二、GUIDE的操作界面及使用方法的介绍

1.启动GUIDE在命令窗口中直接键入guide,启动GUIDE,或者直接

点击MATLAB上按钮,会出现如图1所示的GUIDE Quick Start对话框。利用GUIDE模板创建GUI,或者打开已经存在的GUI,单击OK按钮,打开版面设计工具,如图2所示。在通常状况下组件面板并不显示出组件的名称,如果需要显示组件名称,则进行下面的操作:从File菜单中选择Preferences

选项,勾选Show names in component palette选项即可。

图1 GUIDE启动对话框

图2 版面设计器

2.GUI文件的介绍GUIDE把GUI设计的内容保存在两个文件中,它们在第一次保存或运行时生成。一个是FIG文件,扩展名为.Fig,它包含对GUI和GUI组件的完整描述;另外一个是M文件,扩展名为.M,它包含控制GUI的代码和组件的回调事件代码。这两个文件与GUI显示和编程任务相对应。在版面设计器中创建GUI时,内容保存在FIG文件中;对GUI编程时,

内容保存在M文件中。通常情况下在版面设计器工具栏上单击图标可以打开M文件编辑器。图3所示的编辑器显示了GUI with Axes and Menu模板的M 文件的内容。

图3 M文件编辑器

3.GUIDE环境的设置用户可以自定义GUIDE设计环境。在File菜单下选择Preferences,打开如图4所示的设置对话框,可以进行相应的设置。

图4 GUIDE环境设置

三、基于GUI的图像处理软件平台的设计过程

1.GUIDE版面设计器(即FIG文件)的设计根据设计需要:首先拖拽两个图形窗口(Axes),一个作为待处理图片区域,另一个作为已处理图片区域;其次,拖拽六个电子按钮(Radio Button),作为边缘检测操作按钮以及一个Panel按钮作为检测按钮的支撑面板;第三,拖拽三个按钮(Push Button),作为灰度变化区域的按钮;最后,拖拽五个按钮(Push Button),作为选取/保存图片及退出等操作按钮。将上面的所有按钮及图形窗口合理的布局,达到美观工整的效果,本文设计的GUIDE如图5所示,然后运行一下GUI,系统会自动生成GUI文件。

图5 图像处理软件的GUIDE版面

2.选取图片按钮的GUI设计要想设计一个图像处理的软件,首先要考虑选取图片,选取什么格式的图片,这个是至关重要的,所以先介绍一下选取图片按钮的GUI设计方法。上面已经规划好了按钮的位置,如果想在点击选取图片按钮时,软件给予响应,需要给按钮输入一定的程序代码,设置代码的方法如下:右键单击选取图片按钮,选择View Callbacks/ Callback,系统会自动带设计者进入此按钮的代码输入区域,在下面的空白处输入如下代码[1]:global im %定义一个全局变量im

[filename,pathname]=...

uigetfile({'*.*';'*.bmp';'*.tif';'*.png'},'select picture'); %选择图片路径str=[pathname filename]; %合成路径+文件名

im=imread(str); %读取图片

axes(handles.axes1); %使用第一个axes

imshow(im); %显示图片

写完上述代码后,保存M文件,然后运行GUI,现在就可以实现选择图片的功能了。当然有选取就要考虑存储已处理好的图片,这就引出了存储图片按钮的GUI设计。

3.存储图片按钮的GUI设计同样右键单击存储图片按钮,选择View Callbacks/ Callback,进去M文件后在下面的空白处输入如下代码[2]:global BW %定义处理后的图片BW这个全局变量

[filename,pathname,filterindex]=...

uiputfile({'*.bmp';'*.tif';'*.png'},'save picture');存储图片路径if filterindex==0

return %如果取消操作,返回

else

str=[pathname filename]; %合成路径+文件名

axes(handles.axes2); %使用第二个axes

imwrite(BW,str); %写入图片信息,即保存图片

end

4.边缘检测按钮组的GUI设计本文设计的GUI主要包含了五种最常用的检测算法(即roberts、sobel、prewitt、log、canny检测),右键单击Panel 面板,选择View Callbacks/ SelectionChangeFcn,进入M文件后在空白处输入如下代码[3]:

global im

global BW %定义全局变量

str=get(hObject,'string'); %拿到所选按钮的名称

axes(handles.axes2); %使用第二个axes

switch str %选择语句

case'Initial' %点击原图按钮

imshow(im); %显示原图

case'Roberts' %点击Roberts边缘检测按钮

BW=edge(im,'roberts');

imshow(BW);

case'Sobel' %点击Sobel边缘检测按钮

BW=edge(im,'sobel');

imshow(BW);

case'Prewitt' %点击Prewitt边缘检测按钮

BW=edge(im,'prewitt');

imshow(BW);

case'Log' %点击Log边缘检测按钮

BW=edge(im,'log');

imshow(BW);

case'Canny' %点击Canny边缘检测按钮

BW=edge(im,'canny');

imshow(BW);

end;

相关文档
最新文档