参考资料:MATLAB图像处理理论、算法、实例分析
1. GUI是什么
GUI(Graphical User Interfaces)即图形用户界面,采用图形方式显示的计算机操作用户界面,由窗口、菜单、对话框、按钮等各种图形对象组成。可以只管地输出、展示数据和图像。
2. 设计环境
1)打开GUI布局编辑器
- 在命令行窗口输入,会弹出如下GUI设计启动界面。
>>> guide
-
勾选复选框,为图窗选择存储路径和名字
-
有四种GUI设计模板:
- 空白模板
-
带控件的模板
-
带坐标和菜单的模板
-
带模式问题对话的模板
2) 打开图窗
%创建一个图窗,原点坐标在(200,200)处,长400宽200像素,图窗名为demo02,图窗序标不显示
hf = figure('Position',[200,200,400,200],'Name','demo02','NumberTitle','off');
![](https://img-blog.csdnimg.cn/20210208192335515.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDE1OTQ4MA==,size_16,color_FFFFFF,t_70#pic_center)
3)认识GUI布局编辑器
- 对齐对象:对控件进行布局
- 菜单编辑器:创建、设置、修改下拉菜单和上下文
- Tab键顺序编辑器:调整对象的先后顺序
- 工具栏编辑器
- 编辑器
- 属性编辑器:查看、修改、设置对象的属性值
- 对象浏览器:查看当前设计阶段各个图像
- 运行窗口
- 控件工具栏 — 最左边
3. 控件
-
使用
方一:将控件工具栏的控件拖拽至设计界面
方二:h = uicontrol(…)
1)坐标轴axes(函数) — 用于显示图像或图形
-
h = axes(…),返回坐标轴句柄
- 指定第一个
Axes
对象的位置,使其左下角位于点 (0.1 0.1) 处,宽度和高度均为 0.7。指定第二个Axes
对象的位置,使其左下角位于点 (0.65 0.65) 处,宽度和高度均为 0.28。默认情况下,所有值为基于图窗的归一化值。将这两个Axes
对象返回为ax1
和ax2
。
- 指定第一个
ax1 = axes('Position',[0.1,0.1,0.7,0.7]);
ax2 = axes('Position',[0.65,0.65,0.28,0.28]);
contour(ax1,peaks(20));
surf(ax2,peaks(20));
- axes中的属性Box
2)按钮pushbutton — 用于执行某种预定功能或操作
-
在uicontrol中的**
style
属性值设为“pushbutton”** -
%创建图窗 hf = figure('Position',[200,400,200,200],'Name','demo02','NumberTitle','off'); %读取一张图片 picture = imread('matlabCode\images\3.jpg') %创建一个左下角位于(0.4,0.2),长0.5,宽0.7的坐标系,并显示外边框 ax = axes('Position',[0.4,0.2,0.5,0.7],'Box','on'); %创建按钮控件 hbi = uicontrol(hf,'style','pushbutton','Position',[200,200,80,40],'String',... '显示图像','FontSize',10,'CallBack','imshow(picture);'); hbq = uicontrol(hf,'style','pushbutton','Position',[200,100,80,40],'String',... '退出','FontSize',10,'CallBack','close(hf)');
3)静态文本 — text
- 将uicontrol中的**
style
属性设为“text”**
4)可编辑文本 — edit
-
将uicontrol中的**
style
属性设为“edit”** -
例子:灰度图像二值化并显示
%创建图窗
hf = figure('Position',[200,200,400,400],'Name','demo03','N