MATLAB GUI显示图片的方法

MATLAB GUI显示图片的方法前言  在MATLAB的命令行中显示图片或者数据,十分简单,仅通过imshow,plot或者imagesc等函数即可。  而在MATLABGUI中显示图片,通常需要借助Axes控件来实现。相比而言,多一些操作。在GUI中显示图片  创建一个空白的界面  在GUIDE中,添加一个按钮,然后再添加一个Axes控件,适当调整两者比例。然后在Button的回调函数中添加如下代码%…

大家好,又见面了,我是你们的朋友全栈君。

前言

  在MATLAB的命令行中显示图片或者数据,十分简单,仅通过imshow,plot或者imagesc等函数即可。
  而在MATLAB GUI中显示图片,通常需要借助Axes控件来实现。相比而言,多一些操作。

在GUI中显示图片

  创建一个空白的界面
在这里插入图片描述

  在GUIDE中,添加一个按钮,然后再添加一个Axes控件,适当调整两者比例。
在这里插入图片描述

然后在Button的回调函数中添加如下代码
在这里插入图片描述

% --- Executes on button press in pushbutton1.
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)

axes(handles.axes1);
image = imread('1.jpg');
imshow(image);

  然后运行GUI,点击按钮,就会发现按钮可以发挥作用——
在这里插入图片描述

  但如果你的目标是在GUI开启的阶段就打开图片,就把这段代码加入到OpeningFcn函数中去——

% --- Executes just before untitled is made visible.
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to untitled (see VARARGIN)

% Choose default command line output for untitled
handles.output = hObject;
set(handles.axes1,'visible','off');
axes(handles.axes1);
image = imread('1.jpg');
imshow(image);
% Update handles structure
guidata(hObject, handles);

总结

  网上关于MATLAB GUI的知识点太零散了,相比于Qt、MFC这种主流GUI框架,简直弱爆了。可能MATLAB本身的使命仍旧是做模拟仿真、数学运算,而不是做软件界面吧。但事实上,国外的大神在GitHub上开源的GUI界面总是那么精美。看来还是国内的科研项目对软件界面重视不够,以至于需求没那么多,也就没那么多人关注了。
  这对于初学者而言,十分难受。

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131809.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vlan的基础配置_图文并茂的图片制作二年级

    vlan的基础配置_图文并茂的图片制作二年级VLAN的简单配置实例(图文并茂)一.实验环境首先我们得有简单的实验环境:GNS3,C2691路由器二.实验图示如图,先建立如图所示的简单拓扑图。注:记得给交换机设置好参数。如图三.实验步骤首先我们得配置好三台主机的ip地址。配置如图。pc1pc2pc3主机配置完成。接下来我们开始设置交换机。如图我们可以查看路由功能查看我们已经设置好的vlan和接口。先配好三个vlan…

    2022年9月19日
    0
  • 万能激活成功教程器修改器_激活成功教程软件

    万能激活成功教程器修改器_激活成功教程软件神呐原谅我吧为了省$35啊删掉注册表[HKEY_CURRENT_USER\Software\Classes\CLSID\{B1159E65-821C3-21C5-CE21-34A484D54444}\4FF78130]该项下的所有内容

    2022年8月21日
    2
  • python中append函数什么意思_python中append函数用法讲解

    python中append函数什么意思_python中append函数用法讲解python中append函数用法讲解如果在做一个地区的统计工作,可以使用列表来帮助我们。输入汉字或者其他字符,比如“01代表汉族”,那么在写民族的时候有下拉列表,就可以打01,就会自动识别为汉族。列表是用来大规模数据填报的时候使用,在python中,也有很多使用到列表的时候,那你知道如何在列表的末尾添加新的对象?今天,我们就来认识一下python中可以在列表末尾添加元素的append函数。1、a…

    2022年6月15日
    63
  • 运行代码后出现Process finished with exit code 0是为什么?

    运行代码后出现Process finished with exit code 0是为什么?

    2021年10月21日
    200
  • oracle与mysql分页的区别_分段存储和分页存储的区别

    oracle与mysql分页的区别_分段存储和分页存储的区别oracle与MySQL分页区别(1)MySql的Limitm,n语句Limit后的两个参数中,参数m是起始下标,它从0开始;参数n是返回的记录数。(2)Oracle数据库的rownum在Oracle数据库中,分页方式没有MySql这样简单,它需要依靠rownum来实现。Rownum表示一条记录的行号,值得注意的是它在获取每一行后才赋予。因此,想指定rownum的区间来取得分页数据在一层查询语句中是无法做到的,要分页还要进行一次查询。两种sql写法:SELECT*FROM(SEL

    2022年9月14日
    0
  • windows启动、重启nginx

    windows启动、重启nginxwindows中启动、重启nginx命令1.找到nginx的安装目录,在目录上cmd进入黑窗口;2.启动startnginx3.配置文件nginx.conf修改重装载命令nginx-sreload

    2025年7月9日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号