matlab转换为exe文件,matlab GUI编程及转换为独立运行的exe文件

入门视频:https://www.bilibili.com/video/av20999810?from=search&seid=13641596054754955985

1、打开matlab 的gui设计界面

在matlab控制窗口输入guide,会出现guide窗口,根据需要选择gui模板,可以选择blank gui建立自己的界面。

4860a8cbdd4f21fb3c0e5fede331a41a.png

2、设计自己的gui界面

构思自己的界面,并进行绘制,可根据自己的功能对控件进行拖拽排版。

197414b999d1bcfdd589ba8cf456f7d2.png

控件属性修改:

将控件拖至面板后,双击会弹出控件属性检查器,可根据需要进行修改

此处不懂的可以找视频看一下

7d92ce3d31473d26cd8a3d6a93901097.png

3、保存界面

点击界面上的运行按钮,可对界面进行保存(界面保存后,会生产.m(matlab程序)和.fig(图形界面)文件),并预览界面

80690219b8dd63a77c176a4db9278148.png

保存后生成的两个文件:

8b9adcbca6b3f7097eb93f44e0c71cda.png

4、修改程序,实现功能

以显示图片为例:

在gui界面拖入一个axes窗口

然后在系统的启动函数中可加入图片显示,相当于界面吧,即不通过按钮控制,直接显示。

71d7edda79d146c43ca35b39113e9565.png

im2=imread('2.png'); %读入图片

axes(handles.axes2); %绑定显示窗口(axes的名称为控件双击后的tag的名称)

imshow(im2); %显示图片

colormap(handles.axes2,jet);

该方法即可将图片加载在坐标轴

57a45dd897b329b89398ab6c88b05714.png

坐标轴如果不需要可以隐藏:

推荐博客:https://blog.csdn.net/shitao99/article/details/85882320

5、如何实现两个gui界面的跳转

可通过button按钮实现

首先,在一个gui界面下建立一个button按钮,修改string属性,命名为next

f4b69c7f9291a7c8d9d587c075c3d59b.png

然后在控件上右键–查看回调–callback,会跳转到callback函数

输入以下代码即可:

h=gcf; %获得当前的figure对象的句柄值,即当前的gui界面

test2; %要跳转的figure对象名字

close(h); %关闭当前的界面

a786c17d02d72f83149d6038835a517f.png

6、如何实现图像在matlab gui中的正常显示?

matlab有两种显示图像的方式:image和imshow

显示图像正常用imshow即可

im=imread('');

axes(handles.axes2); %给出显示图像的图区

imshow(im)

imshow可正常显示,image则需要colormap配合显示。

imshow和image的异同: https://blog.csdn.net/zhuiyuanzhongjia/article/details/79621813

7、各控件编写程序

推荐视频: https://ke.qq.com/course/list/matlab gui

可根据视频将主要控件的编写方式模仿一下,在编写自己的小程序

8、控制框提醒

当进行一些操作时,比如保存文件等,在界面上不会有显示,此时可通过控制框进行提醒,操作已完成,防止无聊的等待。

msgbox('窗体显示内容','窗体名称,可为空')

ac05ff23f3a31df6d94a075eb55a1231.png

写在callback函数里即可

9、怎么将一张图片从一个ui传递给另一个ui?

第一种方法:将gui1的图片保存,在gui2中读取

第二种方法:http://blog.sina.com.cn/s/blog_4aee288a0100i4t9.html

通过全局变量和gui的output_function来传递参数

10、gui中怎么将一张图片进行任意角度的旋转?

slider和edit控件的使用:

slider调整角度,edit显示数值

%slider的callback函数

function slider3_Callback(hObject, eventdata, handles)

% hObject handle to slider3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%slider旋转角度调整

sliderValue = get(handles.slider3,'Value');

sliderValue=int32(sliderValue*360);

set(handles.edit1,'string',num2str(sliderValue)); %slider将值传递给edit1进行显示

%edit文本框中显示slider的数值

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%edit1

set(handles.slider3,'Value',str2num(get(hObject,'string'))) %edit设定值由slider3传递

%获取旋转角度,进行图片旋转

function pushbutton6_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%旋转

% msgbox('请确保已打开分割后的二值图像','warning')

value=get(handles.slider3,'Value');

value=int32(value*360);

%imgdata=get(handles.imgdata);

%loadimage=getappdata(handles.figure1,'loadimage') %改成打开的图片

axes(handles.axes1);

imgdata=imrotate(handles.imgdata,value);

imshow(imgdata);

handles.imgdata=imgdata;

guidata(hObject,handles)

11、从当前窗口获取图像并进行显示

im=getframe(handles.axes1);

axes(handles.axes2);

imshow(im)

12、用matlab做GUI界面,并生成独立的可执行程序

两种方式:

1、通过matlab命令行窗口进行操作:https://blog.csdn.net/SoaringLee_fighting/article/details/79344468

2、通过depolytool命令:https://blog.csdn.net/heshiip/article/details/50751810

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值