基于MATLAB的图形用户界面(GUI)来制作图像处理软件平台的制作方法

研究生阶段写的一个小文章,内容浅薄,不过转载请标明,感谢!!

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

关键词:图形用户界面;图象处理;边沿检查;MATLAB工具集

一、引言

图形用于界面(GraphicalUserInterfaces,GUI)是提供人机交互的工具和技巧。GUI是包含图形对象(如窗口、图标、菜单和文本)的用户界面。以某种形式选择或激活那些对象时,一般会导致动作或则发生变化。一个设计优秀的GUI才能十分直观的让用户晓得怎么操作MATLAB界面,而且了解设计者的开发意图。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。这样可以使开发者毋须理会一大堆烦杂的代码,简化程序,并且同样可以实现向决策者提供图文并茂的界面,甚至达到多媒体的疗效。可以说MATLAB提供了一个简便的开发环境,可以让开发者快速上手,增强了开发者的工作效率。

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

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

1.启动GUIDE在命令窗口中直接键入guide,启动GUIDE,或则直接点击MATLAB上按键,会出现如图1所示的GUIDEQuickStart对话框。借助GUIDE模板创建GUI,或则打开早已存在的GUI,单击OK按键,打开版面设计工具,如图2所示。在一般状况下组件面板并不显示出组件的名称,假如须要显示组件名称,则进行下边的操作:从File菜单中选择Preferences选项,勾选Shownamesincomponentpalette选项即可。

图1GUIDE启动对话框

图2版面设计器

2.GUI文件的介绍GUIDE把GUI设计的内容保存在两个文件中,它们在第一次保存或运行时生成。一个是FIG文件,扩充名为.Fig,它包含对GUI和GUI组件的完整描述;另外一个是M文件,扩充名为.M,它包含控制GUI的代码和组件的反弹风波代码。这两个文件与GUI显示和编程任务相对应。在版面设计器中创建GUI时,内容保存在FIG文件中;对GUI编程时,内容保存在M文件中。一般情况下在版面设计器工具栏上单击图标可以打开M文件编辑器。图3所示的编辑器显示了GUIwithAxesandMenu模板的M文件的内容。

图3M文件编辑器

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

图4GUIDE环境设置

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

图片[1]-基于MATLAB的图形用户界面(GUI)来制作图像处理软件平台的制作方法-唐朝资源网

1.GUIDE版面设计器(即FIG文件)的设计依据设计须要:首先拖放两个图形窗口(Axes),一个作为待处理图片区域,另一个作为已处理图片区域;其次,拖放六个电子按键(RadioButton),作为边沿检查操作按键以及一个Panel按键作为测量按键的支撑面板;第三,拖放三个按键(PushButton),作为灰度变化区域的按键;最后,拖放五个按键(PushButton),作为选定/保存图片及退出等操作按键。将前面的所有按键及图形窗口合理的布局,达到美观工整的疗效寻找软件开发图片,本文设计的GUIDE如图5所示,之后运行一下GUI,系统会手动生成GUI文件。

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

2.选定图片按键的GUI设计要想设计一个图象处理的软件,首先要考虑选定图片,选定哪些格式的图片,这个是至关重要的,所以先介绍一下选定图片按键的GUI设计方式。里面早已规划好了按键的位置,假若想在点击选定图片按键时,软件给与响应,须要给按键输入一定的程序代码,设置代码的方式如下:右键单击选定图片按键,选择ViewCallbacks/Callback,系统会手动带设计者步入此按键的代码输入区域,在下边的空白处输入如下代码[1]:

globalim%定义一个全局变量im

[filename,pathname]=…

uigetfile({'*.*';'*.bmp';'*.tif';'*.png'},'selectpicture');%选择图片路径

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

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

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

imshow(im);%显示图片

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

3.储存图片按键的GUI设计同样右键单击储存图片按键,选择ViewCallbacks/Callback,进去M文件后在下边的空白处输入如下代码[2]:

globalBW%定义处理后的图片BW这个全局变量

[filename,pathname,filterindex]=…

uiputfile({'*.bmp';'*.tif';'*.png'},'savepicture');储存图片路径

iffilterindex==0

return%假如取消操作,返回

else

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

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

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

end

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

globalim

globalBW%定义全局变量

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

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

switchstr%选择句子

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;

5.退出按键的GUI设计同样右键单击退出按键,选择ViewCallbacks/Callback,步入M文件中,在空白处输入如下代码:

close(gcf)%关掉当前Figure窗口句柄

其他按键代码的设置都与前面表述的太原小异,相关图象处理程序代码请参考MATLAB7.0图形图象处理[4],在这儿将不再累述。

四、图像处理软件的运行举例

运行GUI,将生成图象处理的软件平台,它可以实现的功能有:五种常用的边沿检查、灰度直方图的显示、灰度直方图的均衡化、对比度自适应直方图的均衡化、图片的二值化以及彩色图片的灰度化。如今运行软件并举些相关图象处理实例。

1.灰度图片边沿测量的举例首先选择一幅名子为lena256的灰度图片,依次选择五种测量按键,比较各类边沿测量的处理疗效,通过对比,发觉Canny

图片[2]-基于MATLAB的图形用户界面(GUI)来制作图像处理软件平台的制作方法-唐朝资源网

算子对图片的边沿检查疗效比较好,其测量疗效如图6所示,其它4种算子检查后的疗效如图7所示。

图6Canny算子对图片的边沿检查疗效

图7其它4种边沿检查疗效对比图

2.灰度图片的直方图显示举例选定名子为cameraman的灰度图片,点击直方图的显示按键寻找软件开发图片,此灰度图片的直方图分布将显示在第二个axes中,其处理结果如图8所示。

图8灰度图片直方图显示

3.彩色图片的二值化和灰度化处理举例选定名子为Waterlilies的彩色图片,分别点击二值化和灰度化按键并保存处理后的图片,其处理后的图片疗效如图9所示。

五、结束语

因为MATLAB强悍的工程估算和仿真能力,使越来越多的用户从原先的开发环境转入MATLAB上来。现今绝大多数MATLAB开发者都是一些从事一定领域的研究者,她们使用其他的开发环境设计GUI不紧编程复杂、而且学习困难,常常须要耗费大量时间在编程上。并且,MATLAB提供了一个简便的开发环境,可以让开发着快速上手,增强了开发者的工作效率。本文详尽向读者介绍了MATLAB的GUI的制做方式,通过这个反例,可以清楚的了解GUIDE的设计方式及相关图象处理代码的编辑,使读者从感性的角度认识GUIDE的功能及使用方式,可以说为初学者提供了一个学习平台,打下坚实的基础。

参考文献

1.

2.

3.

4.王家文.MATLAB7.0图形图象处理.上海:国防工业出版社,2006:103-112.

5.罗军辉.MATLAB7.0在图象处理中的应用.上海:机械工业出版社,2005:121-133.

内容其实很简单,仅供你们参考,如有不对之处,请给予点评!!!!!!!!!!!

© 版权声明
THE END
喜欢就支持一下吧
点赞227赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容