MATLAB GUI设计(基础)
一、目的和要求
1、熟悉和掌握MATLAB GUI的基本控件的使用及属性设置。
2、熟悉和掌握通过GUIDE创建MATLAB GUI的方法。
3、熟悉和掌握MATLAB GUI的菜单、对话框及文件管理框的设计。
4、熟悉和掌握MATLAB GUI的M文件编写。
5、了解通过程序创建MATLAB GUI的方法。
二、内容和步骤
MATLAB提供了可视化的图形界面开发环境,方便地实现用户界面的设计。
1、设计一个能够根据用户选择,显示正弦波、矩形波、锯齿波的GUI界面。
(1)设计界面。通过MATLAB菜单栏,依次选择Flie→New→GUI,打开GUIDE Quick Star界面,选择Blank GUI创建一个空白界面。
(2)设置控件属性,如下图所示。
控件名称 | String属性 | Tag属性 |
静态文本 | 显示函数 | |
坐标轴 | (默认) | (默认) |
按钮 | 正弦函数、矩形函数、锯齿函数 | fun1、fun2、fun3 |
(3)编写回调函数。选中“正弦函数”按钮,单击右键选择“查看回调”→Callback,进入M文件中回调函数的编辑,系统会自动生成一个空的fun1_Callback函数,该步骤表示当鼠标单击该按钮时,在坐标轴控件中会显示正弦函数,编写代码如下:
同理,对“矩形函数”按钮和“锯齿函数”按钮的Callback函数编写如下代码:
单击.fig文件工具栏中的运行按钮即可运行GUI界面,当单击要显示的函数按钮时,窗口中就会显示相应的函数,如下图所示。
2、设计一个简单实用的图像处理程序。功能如下:
(1)图像的读取和保存。
(2)设计图形用户界面,让用户对图像进行色彩图像到灰度图像的转换,并显示原图和灰度图像。
(3)设计图形用户界面,让用户能够根据需要来检测边缘检测算子,即选择边缘检测的方法。
(4)设计图形用户界面,让用户能够自行设定检测的阈值和方向。
(5)显示边缘检测后的图像,并与原图和灰度图像进行对比。
(6)其他功能。
根据上述分析完成如下步骤,界面设计如下图所示。
(1)设计界面。
控件名称 | 控件数量 | 功能描述 |
静态文本 | 5 | 用于标注相应控件的提示 |
坐标轴 | 3 | 用于显示原始图像、灰度图像和边缘检测后的图像 |
按钮 | 1 | 用于将原始图像转换为灰度图像 |
文本编辑框 | 1 | 用于输入数据 |
列表框 | 1 | 用于选择检测的方向 |
(2)设置控件属性。为了编辑和维护的方便,为控件设置新的String和Tag属性,如下图所示。
控件名称 | String属性 | Tag属性 |
静态文本 | 原图、灰度图像、检测图像、设定阈值、检测方向 | (默认) |
坐标轴 | (默认) | original_image、gray_image、test_image |
按钮 | 灰度转换 | rgbtogray |
文本编辑框 | (默认) | thresh_value |
列表框 | horizontal、vertical、both | direction |
(3)创建菜单,设计效果如下图所示。
一级菜单名称 | 子菜单项名称 |
文件 | 打开、保存、退出 |
检测方法 | Sobel、Prewitt、Roberts、Canny |
帮助 | 无 |
(4)编写代码。打开M文件,在对应函数位置添加如下程序,其他代码不变。
该段程序是菜单栏中子菜单“打开”选项的代码,主要用于选择打开并显示该图像。
该段程序是菜单栏中子菜单“保存”选项的代码,主要用于保存处理后的图像。
执行程序后,单击菜单栏中的文件,打开图片xxx.jpg,在原图位置会显示彩色图像,单击“灰度转换”按钮,在灰度图像位置会显示转换后的弧度图像,在“设定阈值”框输入0.1,选择“检测方向”为both,再在“检测方向”菜单中选择Canny,即可在“检测图像”的位置显示边缘检测后的图像,最后在“文件”菜单中选择“保存”,即可保存最终分割后的边缘检测图,如下图所示。
3、通过程序创建GUI
除通过GUI向导创建GUI外,还可以通过程序创建GUI,Matlab提供了一些函数用于创建GUI,这些函数可以辅助用户创建GUI。
①建立数制转换对话框。在左边输入一个十进制整数和2~16之间的数,单击“转换”按钮能在右边得到十进制数所对应的2~16进制字符串,单击“退出”按钮退出对话框。
程序如下:
程序调用了trdec.m函数文件,该函数的作用是将任意十进制整数转换为2~16进制字符串。trdec.m函数文件如下:
②建立“图形演示系统”菜单。菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容为:Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Figure Color控制图形窗口背景颜色。Quit控制是否退出系统。
程序如下:
所建立的图形演示对话框如右图所示:
4、自我练习
设计一个简易计算器。
- 设计页面
- 设置控件属性
- 编写代码
“0~9”和“+、-、*、/、及小数点”的代码都是一样的,只需要将textString中的符号进行相应改变就行。
“=”
“Back”及删除一位数字。
“C”即归零
- 执行程序
原文地址:https://blog.csdn.net/2201_75415349/article/details/143983677
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!