[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,如需转载请自行联系原作者
相关文章
|
传感器 算法 vr&ar
六自由度Stewart控制系统matlab仿真,带GUI界面
六自由度Stewart平台控制系统是一种高精度、高稳定性的运动模拟装置,广泛应用于飞行模拟、汽车驾驶模拟、虚拟现实等领域。该系统通过六个独立的线性致动器连接固定基座与移动平台,实现对负载在三维空间内的六个自由度(三维平移X、Y、Z和三维旋转-roll、pitch、yaw)的精确控制。系统使用MATLAB2022a进行仿真和控制算法开发,核心程序包括滑块回调函数和创建函数,用于实时调整平台的位置和姿态。
|
5月前
|
数据安全/隐私保护
相控阵雷达电特性matlab模拟与仿真,带GUI界面,对比有限扫描阵,稀疏阵,多波束阵,共形阵等
本课题基于MATLAB2022a实现相控阵雷达天线电特性仿真,含GUI界面,对比有限扫描阵、稀疏阵、多波束阵及共形阵等不同类型天线的性能。相控阵雷达通过控制辐射单元的相位和幅度实现波束快速扫描与指向,广泛应用于军事和民用领域。系统具备高分辨率、多功能、抗干扰强等特点。仿真结果完整无水印,核心程序涵盖多种阵列模型,展示不同阵列的电特性和应用场景,为相控阵天线研究提供参考。
|
5月前
|
算法 安全 数据安全/隐私保护
基于AES的图像加解密算法matlab仿真,带GUI界面
本程序基于AES算法实现图像的加解密功能,并提供MATLAB GUI界面操作,支持加密与解密。运行环境为MATLAB 2022A,测试结果无水印。核心代码通过按钮回调函数完成AES加密与解密流程,包括字节替换、行移位、列混淆及密钥加等步骤。解密过程为加密逆向操作,确保数据安全性与完整性。完整程序结合128位块加密与可选密钥长度,适用于图像信息安全场景。
|
9月前
|
算法
基于小波变换和峰值搜索的光谱检测matlab仿真,带GUI界面
本程序基于小波变换和峰值搜索技术,实现光谱检测的MATLAB仿真,带有GUI界面。它能够对CO2、SO2、CO和CH4四种成分的比例进行分析和提取。程序在MATLAB 2022A版本下运行,通过小波分解、特征提取和峰值检测等步骤,有效识别光谱中的关键特征点。核心代码展示了光谱数据的处理流程,包括绘制原始光谱、导数光谱及标注峰值位置,并保存结果。该方法结合了小波变换的时频分析能力和峰值检测的敏锐性,适用于复杂信号的非平稳特性分析。
267 26
|
9月前
|
传感器 算法 算法框架/工具
基于一阶梯度的图像亚像素位移matlab仿真,带GUI界面
本项目提供图像亚像素位移估计算法,使用Matlab2022a开发。完整程序无水印运行效果佳,附带详细中文注释代码和操作视频。该算法通过一阶梯度信息和泰勒级数展开,实现比像素更精细的位置变化测量,广泛应用于医学影像、遥感图像、视频监控、精密测量等领域,显著提升图像配准和分析精度。
基于FOC控制器的BLDC无刷直流电机控制系统matlab编程与仿真
本课题基于MATLAB编程实现BLDC无刷直流电机的FOC控制系统,涵盖FOC控制器、Clarke和Park变换等,不使用Simulink建模。系统通过坐标变换将三相电流转换到dq轴,独立控制励磁和转矩电流,实现高效平滑运行及高动态响应。仿真输出包括三相电流、电机转速和转子角度。版本:MATLAB2022a。
|
10月前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
305 18
|
11月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
309 31
|
9月前
|
监控 算法 自动驾驶
基于图像形态学处理的移动物体目标跟踪和质心提取matlab仿真,带GUI界面
本项目展示了一种基于图像形态学处理的移动物体目标跟踪和质心提取算法。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释及操作视频。算法通过多帧图像像素值求平均、中值法或高斯混合模型估计背景,结合形态学处理(开闭运算、阈值处理)去除噪声并优化目标检测,提高准确性。颜色直方图匹配用于目标跟踪,结构元素膨胀操作扩大搜索范围,增强鲁棒性。
|
11月前
|
算法
超市火灾烟雾蔓延及人员疏散的matlab模拟仿真,带GUI界面
本项目基于MATLAB2022A开发,模拟了大型商业建筑中火灾发生后的人员疏散与烟雾扩散情况。算法通过设定引导点指导人员疏散,考虑视野范围、随机运动及多细胞竞争同一格点的情况。人员疏散时,根据是否处于烟雾区调整运动策略和速度,初始疏散采用正态分布启动。烟雾扩散模型基于流体方程,考虑了无风环境下的简化。
220 10

热门文章

最新文章