课程设计说明书
5用GUI界面实现运算
5.1GUI简介
图形用户界面(GUI),是一种提供人机交互的工具和方法。GUI是包含图形对象,如窗口、图标、菜单和文本等图文并茂的用户界面。
5.2界面设计
用MATLAB图形用户界面开发环境设计GUI点的一般步骤是: 1.进行界面设计; 2.设计控件属性; 3.进行M语言编程。
在MATLAB中,启动GUIDE的方法有3种:
(1) 在MATLAB指令行窗口中直接输入指令“>>GUIDE”; (2) 在“Start”菜单中选择“MATLAB”下的“GUIDE”命令;
(3) 在工具栏中单击“GUIDE”的图标,进入GUI默认窗口界面,如图5-1所示。
这里选择空白界面类型(Black GUI),单击“OK”按钮,MATLAB将启动GUIDE,如图5-2所示。
图5-1 GUIDE的启动界面
10
课程设计说明书
图5-2具有空白界面的GUIDE
在GUI空白界面中,位于中央的深灰色部分为绘制控件的画布,拖动右下角小黑点可以调整画布尺寸的大小。在GUI界面的左侧为MATLAB控制面板。控制面板的外观可以通过设置GUIDE的属性进行简要的修改,选择GUIDE中的“File”菜单下的“Preference”…”命令,在弹出的对话框中选择“Show names in Component palette”复选框,如图5-3所示。单击“OK”按钮后,控制面板中在不同的空间旁边会显示相应空间的名称,如图5-4所示。
图5-3 GUIDE的属性对话框 图5-4显示控件名称
控制面板上有各种控件,其中有推按钮(Push Button)、单按钮(Radio Button)、复选框(Checkbox)、文本框(Edit Text)、静态文本框(Static Text)、下拉框(Popup
11
课程设计说明书
Menu)、列表框(Listbox)、单选按钮(Toggle Button)、轴对象(axes)等。从控制面板中选择上述控件,按照一定的界面布局用鼠标将控件拖动到画布上。
5.3 GUI实现程序
以本设计要求为例介绍。
第一步,该选择本图形用户界面需要的控件:
九个推按钮(Push button),分别为原图,灰度图,内置FFT图,内置IFFT图,原图,灰度图,自编FFT图,自编IFFT图,退出。
八个轴对象(axes)用来显示原图,灰度图,内置FFT图,内置IFFT图,原图,灰度图,自编FFT图,自编IFFT图。
完成的GUI界面如图5-5所示:
图5-5完成的GUI界面
第二步,设置控件属性:
双击组件可以设置推按钮的属性,如显示大小,名称和默认值等。上图就设置了推按钮的名称,这样可以更清楚的明白每个推按钮的功能。
第三步,编写回调函数。
组件事件的发生是通过回调函数进行工作的。控件设置完成后保存,然后运行GUI(操作为Ctrl+T),就会进入Editor窗口,加入各个控件功能的函数代码。完成后保存即可。
第四步,运行GUI。
运行Editor窗口的程序后,会弹出已经激活的GUI界面。点击代表各个函数操作的按钮,就会出现进行了相应函数操作的图片。如图5-6所示:
12
课程设计说明书
图5-6运行GUI后的结果
5.4运行调试
当点击推按钮,有时相应的图片将不会出现,提示出现错误,这时极有可能是图片路径设置错误,则将回调函数中图片路径修改一下,就可出现正确的结果。
13
课程设计说明书
6自编算法与内置算法结果比较
我们知道MATLAB软件自带FFT算法和IFFT算法,我们可以通过比较自编算法运行结果与内置算法运行结果来检验自编算法的正确性。
通过观察图4-3和图5-6的运行结果可知,经过自编FFT运算得到的图形和内置FFT得到的图形大体一致,经过自编IFFT运算得出的图形和内置IFFT得出的图形一致。只是内置的FFT得到的图片比自编得到的FFT图片更清晰,其他相差不多,大致可认为两种运算结果是一致的。IFFT算法是在对图像进行FFT算法处理的基础上对图片进行的快速傅里叶逆变换,因此可以观察到图片进行IFFT算法处理后,又恢复为灰度图,而且较之前的灰度图清晰度较差。
本次课程设计编写的程序严格按程序框图编写,思路清晰、容易理解,程序的运行过程在命令窗中一目了然。通过与自编函数运算的结果比对,虽存在一点小误差,但在允许误差之内,所以程序编写正确。
14
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数字信号处理基于MATLAB的FFT算法设计课设说明书(3)在线全文阅读。
相关推荐: