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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux初识[通俗易懂]

    Linux发展史简介Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日(第一次正式向外公布),由芬兰学生LinusTorvalds和后来陆续加入的众多爱好者共同开发

    2022年3月29日
    34
  • WIN10安装64位JDK10.0.2详细完整教程(图文)

    WIN10安装64位JDK10.0.2详细完整教程(图文)1.下载JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html1)如下图,点击红色箭头处:2)如下图

    2022年7月3日
    15
  • matlab潮流计算_凤凰传奇筷子兄弟最炫民族风

    matlab潮流计算_凤凰传奇筷子兄弟最炫民族风晚上看到个帖,matlab演奏卡农,眼前一亮,以前从没想过用matlab出声,作者真乃大牛。看到一条评论:卡农算什么,有本事来最炫民族风。。。。于是我就手贱了。。。花了几个小时。。。1/3在读懂卡农的程序,1/3在学习简谱知识(还好小学初中学过点),1/3在把简谱转换成代码。。。不多说,程序如下,欢迎试听哈:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Mosts…

    2022年9月22日
    0
  • std::vector初始化[通俗易懂]

    std::vector初始化[通俗易懂]#include<iostream>#include<stdint.h>#include<vector>usingnamespacestd;intmain(){ std::vector<uint8_t>temp0(0,0); cout<<“vectorsize:”<<temp0.size()<<endl; std::vector<uint8_t>temp1(.

    2022年9月16日
    0
  • Pytorch-DataLoader的使用

    Pytorch-DataLoader的使用原文连接:http://chenhao.space/post/d313d236.htmlpytorch-DataLoader的使用importtorchimporttorch.utils.dataasData#[1,1,1]相当于一句话的wordembedding,这个tensor中含有三句话x=torch.tensor([[1,1,1],[2,2,2…

    2022年5月14日
    34
  • 基于51单片机控制步进电机正反转

    基于51单片机控制步进电机正反转基于51单片机控制步进电机正反转此次采用uln2003模块来链接步进电机;##步进电机工作原理步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。步进电动机的结构形式和分类方法较多,一般按励磁方式分为磁阻式、永磁式和混磁式三种;按相数可分为单相、两相、三相和多相等形式。因此我们可以控制单片机I/O口的电平来控制步进电机,此次设计中采用四相单拍工作方式,在这种工作方式下,A、

    2022年5月31日
    29

发表回复

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

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