matlab中guide的搭建与进阶

guide

matlab作为一款科学计算软件,拥有众多强大的函数库以及丰富的工具箱,比如神经网络工具箱,机器学习工具箱。simulink是强大的模块组建工具,guide则可以搭建用户友好界面。虽然python开放了开源的科学计算程序,但matlab在易用性上还是无可匹敌。

matlab上直接输入guide即可进入guide的窗口(这是我以前建立的一个简单的guide)
这里写图片描述

guide的使用方法与c#中拖插件的方式很像,不过guide的插件比较少,种类更偏向于图像,数字等等。上述插件运行后可以得到如下界面。

这里写图片描述
插件一般包括callback、CreateFcn、ButtonDownFcn、DeleteFcn等函数,右键插件选择回调函数即可,比如病历导入这个按钮插件的回调函数如下:

function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[filename,pathname] = uigetfile({'*.jpg';'*.bmp';'*.png'},'读取文件');
str = [pathname filename];
set(handles.edit1,'string',str);
im = imread(str);
axes(handles.axes1);
hImage = imshow(im);
set(hImage,'ButtonDownFcn',{@myCallback,handles});

程序解释:这是一个简单的读取图片的文件,并显示在axis1中,每个插件都有自己的属性检查器。axis1显示为它的Tag属性上。另外包括这个插件的文字显示,位置大小颜色等等属性都可以在Tag上调整。
一般gui中函数有三个属性,h0bject,eventdata,handles三个属性,h0bjet是句柄指针很重要,handles是用户数据,如果要引用其它回调函数必须引用它的h0bject和handles两个属性。

function myCallback(hObject, eventdata, handles)
ClickPoint = get(gca,'currentpoint');

col_coordinate = ClickPoint(1,1);
row_coordinate = ClickPoint(1,2);
rectangle('Position',[col_coordinate,row_coordinate,100,50],'LineWidth',2,'EdgeColor','g');
%axes(handles.axes1);
str2 = 'this position has a tumour';
set(handles.edit3,'string',[num2str(col_coordinate),num2str(row_coordinate)]);

当然,gui里面也可以定义自己的函数,比如myCallBack函数,该函数可以在其它回调函数中被调用。guide可以将功能模块化。gui还可以采集声音信号,控制摄像头,处理数据,机器学习等等功能整合,guide可以会生成.fig文件和.m文件,有这两个文件一起可导出为exe文件,在windows下运行。只需在matlab的command windows下运行mcc -m guide.m即可.

关于guide的具体使用建议在论坛或者找本书学习,基本使用方法都比较简单,问题在于怎么搭建一个环环相扣的系统,its a big project.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章