MATLAB-GUIDE简单示例

一、创建GUIDE App

STEP1:点击【主页】-【新建】-【APP】-【GUIDE】,选择Blank GUI
在这里插入图片描述
STEP2:Blank GUI的.m文件包含三个默认函数:

1、initialization code - DO NOT EDIT:
function varargout = untitled(varargin)

2、Executes just before untitled is made visible:
GUI能自动执行的代码只有这里,剩下的codes都要触发(e.g. 按下按钮、选择选项)才能执行
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% 包含两行重要语句:
% (1)创建了一个句柄handles:
handles.output = hObject;
....

% 全局变量,在这里定义
e.g.handles.variable_name = '';
....

% (2)更新handeles:
guidata(hObject, handles);

3、%--- GUIDE结束后,命令行可以输出一些语句:
function varargout = untitled_OutputFcn(hObject, eventdata, handles) 

二、添加控件

STEP3:从GUI界面左侧工具栏,选中想要的控件,然后拖动到GUI面板里。

控件上显示的文字内容和字体大小颜色等属性,可以通过【右键】该控件,打开【属性检查器】进行修改。

在这里插入图片描述

四、增加控件功能

1、按钮,pushbutton

添加【按钮】控件后,会出现这个按钮的callback func。在【按下button1】之后,会执行该函数的内容。

function pushbutton1_Callback(hObject, eventdata, handles)
disp('我按下了button1\n');
2、单选按钮,radiobutton

e.g. 首先,在initializztion函数中定义一个全局变量table = ‘’。
再在这里改变该变量的值:当radiobutton1被按下的时候,table被赋值为’1’

function radiobutton1_Callback(hObject, eventdata, handles)
handles.table = '1';

% 与radiobutton2形成互斥的效果:
set(handles.radiobutton2,'value',0);

% 幅值相当于改变了handles的属性,所以这里要更新一下:
guidata(hObject, handles);
3、静态文本

没有回调方程,没什么可操作的。

4、动态文本,edit

e.g. 首先,在initializztion函数中定义一个全局变量text = ‘’。
用户在动态文本框中输入数值,通过回调函数,读取这个值,为变量text赋值。

function edit1_Callback(hObject, eventdata, handles)
handles.text = get(hObject, 'String');
% 上一句相当于改变了handles的属性,所以这里要更新一下:
guidata(hObject, handles);

五、在GUI各个控件中传递全局变量

方法一

% 1、在initial函数中定义:
handles.variable_name = '0000';

% 2、在别的callback function中获取全局变量的值:
var = handles.variable_name;

% 3、更新全局变量的值:
var = '5678';
guidata(hObject, handles);

方法二

% 1、在initial函数中定义:
global variable_name;
variable_name = '';

% 2、在别的callback function中获取全局变量的值:
var = handles.variable_name;

% 3、更新全局变量的值:
var = '5678';
guidata(hObject, handles);

方法三

% 1、利用setappdata函数来设置全局变量
setappdata(handles.pushbutton1,'variable_name','1234');

% 2、在别的callback function中获取全局变量的值:
var = getappdata(handles.pushbutton1,'variable_name');

方法四

% 1、利用句柄的 UserData 属性来传递数据
set(handles.pushbutton1,'UserData','1234'); 

% 2、在别的callback function中获取全局变量的值:
var = handles.pushbutton1.UserData;
很抱歉,我并不是一个可以提供代码的程序,但是我可以告诉你一些能够帮助你编写数字图像处理监督分类算法的工具和函数。 在Matlab中,可以使用Image Processing Toolbox来进行数字图像处理。其中包括一些用于监督分类的函数,如分类树、支持向量机、神经网络等。 对于监督分类算法的代码编写,可以使用Matlab自带的GUI设计工具——GUIDE,它可以帮助你轻松地创建用户界面和交互式应用程序。 下面是一个简单的数字图像处理监督分类算法的示例代码: ```matlab % 读取图像 im = imread('test.jpg'); % 将图像转换为灰度图像 im_gray = rgb2gray(im); % 提取图像特征 features = extract_features(im_gray); % 创建分类器 classifier = fitcecoc(features, labels); % 预测图像类别 predicted_label = predict(classifier, features); % 显示结果 imshow(im); title(['Predicted label: ', predicted_label]); % 特征提取函数 function features = extract_features(im) % 在这里编写特征提取代码 end ``` 在这个示例中,我们先读取一张图像,将其转换为灰度图像,然后使用一个自定义的特征提取函数来提取图像的特征。接着,我们使用fitcecoc函数创建一个分类器,并用它来预测图像的类别。最后,我们在图像上显示预测结果。 这只是一个简单示例,实际的监督分类算法可能会更复杂,需要更多的特征提取和分类器调整。但是,使用Matlab的图像处理工具箱和GUI设计工具,可以帮助你更轻松地完成这些任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值