[matlab] MATLAB 界面编程 傻瓜教程

简介:


 

 

>_<:在 MATLAB 的命令窗口(Command Window)中运行 guide 命令,来打开 GUIDE 界面,如下:

>_<:然后,选择空模板(Blang GUI),点击 OK,即可打开 GUIDE 的设计界面,如下:

>_<:点击工具栏上的菜单编辑器(Tools->Menu Editor),打开菜单编辑器,如下:

>_<:在 Menu Bar 中新建一个菜单项,名字为“文件”,其他设置请看下图:

>_<:在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。见下图:

  

PS:如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above this item”就行了。

PS:保存我的界面为 pjimage.fig. 保存完毕之后,会自动打开 pjimage.m 文件,而我们所有的程
序都是要写在这个 M 文件里面的。在编程中,我们的每一个鼠标动作都对应一个 Callback
函数那么我们的菜单项也是如此的。

>_<:在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的
控件时,其对应的属性都会在这里显示,我们可以进行修改。最主要的属性莫过于 Tag 属性
和 String 属性。设置当前 Figure 窗口的 Tag 属性为:figure_pjimage,窗口的标题(Name 属性)为:图像处理
实例。如下:

>_<:然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮 (Run Figure)。注意,工具栏
的图标都会有提示的,像运行按钮的提示就是 Run Figure. 我们会看到如下的界面:

PS:那说明,我们保存的.fig 文件的目录不是当前目录,但是没关系啊,我们只要点击“Change
Directory”来改变当前目录。当然,如果你想把当前目录添加到 MATLAB 路径也可以,那
就点击“Add to Path”就 OK 了。我在这里推荐点击“Change Directory”,因为没有什么太
大必要把其添加到 MATLAB 路径中,一般是工具箱需要添加或者我们的函数或程序写完了 ,
而在 MATLAB 的命令窗口找不到我们的函数的时候,我们可以将函数或程序所在的目录添
加到 MATLAB 路径。
>_<:我们的程序运行时的样子,是这样的:

>_<:我们可以通过上面的按钮 “View”来查看该菜单项
的响应函数,也就是 Callback 函数。也可以在 pjimage.m 中看,比如保存的 Tag 属性是
m_file_save,那么它对应的 Callback 函数的名字就是 m_file_save_Callback。依次类推了。
下面我们来写打开菜单项的函数,要打开一个图片,当然要用打开对话框了。在界面编程中 ,
打开对话框的函数是 uigetfile. 关于它的详细的说明用 help uigetfile 命令查看。下面是打开
菜单的响应函数:

复制代码
1 % --------------------------------------------------------------------
2 function m_file_open_Callback(hObject, eventdata, handles)
3 % hObject    handle to m_file_open (see GCBO)
4 % eventdata  reserved - to be defined in a future version of MATLAB
5 % handles    structure with handles and user data (see GUIDATA)
6 [filename,pathname]=uigetfile(...
7     {'*.bmp;*.jpg;*.jpeg','Image Files(*.bmp,*.jpg,*.png,*.jpeg)';...
8     '*.*','All Files(*.*)'},...
9     'Pick an Image');
复制代码

>_<:保存.m 文件,并运行程序。点击“文件”下的“打开”,会打开如下的打开对话框:

>_<:选择一个文件之后,程序中的 filename 就是你选择的文件的文件名,pathname 就是该文件
所 在 的 目 录 的 路 径 。 比 如 : filename =5.jpg , pathname =C:\Documents and
Settings\Administrator\My Documents\。
>_<:那么获得路径之后,我们要怎么样才能读入和显示一个图片呢?读入图片可以用 imread 函
数,而显示可以在一个坐标轴上。那么我们需要在界面上画上一个坐标轴,为了对比,我们
画两个坐标轴,一个显示处理前,一个显示处理后的。并且将处理前的坐标轴的 Tag 属性改
为 axes_src,处理后的坐标轴的 Tag 属性为 axes_dst。更改之后,保存。如下:

>_<:然后在 m_file_open_Callback 程序原来的基础上,再添加如下的程序:

1 axes(handles.axes_src);%用axes命令设定当前操作的坐标轴是axes_src
2 fpath=[pathname filename];%将文件名和目录名组合成一个完整的路径
3 imshow(imread(fpath));%用imread读入图片,并用imshow在axes_src上显示

>_<:运行程序,通过“打开”菜单项,打开一个图片。效果如下:

PS:这里只是简单地介绍一下matlab怎么创建界面程序,有时候合理的使用工具会加快研
究进度,matlab有很强的数值计算分析及仿真能力,这里就不多说啦~
>_<:这里有个比较完整的小傻瓜教程,连接如下:http://pan.baidu.com/s/1ntx9Csp
 




本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/3883817.html,如需转载请自行联系原作者
目录
打赏
0
0
0
0
23
分享
相关文章
六自由度Stewart控制系统matlab仿真,带GUI界面
六自由度Stewart平台控制系统是一种高精度、高稳定性的运动模拟装置,广泛应用于飞行模拟、汽车驾驶模拟、虚拟现实等领域。该系统通过六个独立的线性致动器连接固定基座与移动平台,实现对负载在三维空间内的六个自由度(三维平移X、Y、Z和三维旋转-roll、pitch、yaw)的精确控制。系统使用MATLAB2022a进行仿真和控制算法开发,核心程序包括滑块回调函数和创建函数,用于实时调整平台的位置和姿态。
|
18天前
|
基于小波变换和峰值搜索的光谱检测matlab仿真,带GUI界面
本程序基于小波变换和峰值搜索技术,实现光谱检测的MATLAB仿真,带有GUI界面。它能够对CO2、SO2、CO和CH4四种成分的比例进行分析和提取。程序在MATLAB 2022A版本下运行,通过小波分解、特征提取和峰值检测等步骤,有效识别光谱中的关键特征点。核心代码展示了光谱数据的处理流程,包括绘制原始光谱、导数光谱及标注峰值位置,并保存结果。该方法结合了小波变换的时频分析能力和峰值检测的敏锐性,适用于复杂信号的非平稳特性分析。
基于一阶梯度的图像亚像素位移matlab仿真,带GUI界面
本项目提供图像亚像素位移估计算法,使用Matlab2022a开发。完整程序无水印运行效果佳,附带详细中文注释代码和操作视频。该算法通过一阶梯度信息和泰勒级数展开,实现比像素更精细的位置变化测量,广泛应用于医学影像、遥感图像、视频监控、精密测量等领域,显著提升图像配准和分析精度。
基于FOC控制器的BLDC无刷直流电机控制系统matlab编程与仿真
本课题基于MATLAB编程实现BLDC无刷直流电机的FOC控制系统,涵盖FOC控制器、Clarke和Park变换等,不使用Simulink建模。系统通过坐标变换将三相电流转换到dq轴,独立控制励磁和转矩电流,实现高效平滑运行及高动态响应。仿真输出包括三相电流、电机转速和转子角度。版本:MATLAB2022a。
基于图像形态学处理的移动物体目标跟踪和质心提取matlab仿真,带GUI界面
本项目展示了一种基于图像形态学处理的移动物体目标跟踪和质心提取算法。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释及操作视频。算法通过多帧图像像素值求平均、中值法或高斯混合模型估计背景,结合形态学处理(开闭运算、阈值处理)去除噪声并优化目标检测,提高准确性。颜色直方图匹配用于目标跟踪,结构元素膨胀操作扩大搜索范围,增强鲁棒性。
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
66 18
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
102 31
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。
超市火灾烟雾蔓延及人员疏散的matlab模拟仿真,带GUI界面
本项目基于MATLAB2022A开发,模拟了大型商业建筑中火灾发生后的人员疏散与烟雾扩散情况。算法通过设定引导点指导人员疏散,考虑视野范围、随机运动及多细胞竞争同一格点的情况。人员疏散时,根据是否处于烟雾区调整运动策略和速度,初始疏散采用正态分布启动。烟雾扩散模型基于流体方程,考虑了无风环境下的简化。
基于方块编码的图像压缩matlab仿真,带GUI界面
本项目展示了基于方块编码的图像压缩算法,包括算法运行效果、软件环境(Matlab 2022a)、核心程序及理论概述。算法通过将图像划分为固定大小的方块并进行量化、编码,实现高效压缩,适用于存储和传输大体积图像数据。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等