matlab gui界面设计记录
我们要进行的程序是彩色图像处理试验示例,用这个程序来练习我们的gui前台设计。
程序功能介绍:具有彩色图像处理及保存和音乐播放功能效果如下图
- 2
在MATLAB的命令窗口中输入guide命令,打开guidequick start窗口,选择create new gui 点ok 生成新的fig文件如下图:
- 3
右点窗口 ,打开属性设置修改figur窗口名字,点name项就可以改 我们改为xiaobotest.fig,而后我们在窗口中拖进来,和几个按纽用于交互程序的事件触发,做成前台如下图
- 4
前台部分 接下来我们还要进行窗口菜单的制作,点tools选择menu editor
接上面的操作出现一个窗口 点new menu ,选中这个项 接着再点new menu就可以为它加目录项了 ,选中untiled1 可以看到它的属性 可以修改了label 是用于显示文字说明用的 tag相当于句柄一样用于操作的 下面我们改打开表项的 tag 值为open 如下图
经过上面的几步操作 就完成菜单制作,功能上就具有 打开文件 保存 音乐播放 停止等如下图
下面进行各各菜单项的事件操作,点view(查看)就可以打开callback函数
function openfile_Callback(hObject, eventdata, handles)这个就是打开操作对应的函数 我们加入如下代码
后的各各操作如同上面一样 加入一下代码 分别为保存rgb操作图片和hsi操作图片
function savergb_Callback(hObject, eventdata, handles)
function savehsi_Callback(hObject, eventdata, handles)
对于按纽操作,例如 rgb直方图操作 我们把放到rgb直方图上点右键如下图代码如下
function pushbuttonrgb_Callback(hObject, eventdata, handles)
技术细节说明:
其中实现菜单可选不可选用的是
set(handles.savefile,'Enable','off');
set(handles.savergb,'Enable','off');
set(handles.savehsi,'Enable','off');
set(handles.saveph,'Enable','off');
set(handles.savejr,'Enable','off');
其中savefile是保存菜单的tag值,比如我们操作了直方图就可以在显示后执行如下代码
set(handles.savefile,'Enable','on');
set(handles.savergb,'Enable','on');
这样就可以实现菜单的冗余操作了
全部操作后的效果如下图:
特别说明:在菜单选项中加入音乐播放功能
打开制作好的音乐功能菜单的并修改callback函数
function start_Callback(hObject, eventdata, handles)
% hObject handle to start (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[y,Fs,bits] = wavread('dl.wav'); %获取音乐数据
ao = analogoutput('winsound'); %建立硬件对象
addchannel(ao,[1 2]); %创建声音输出通道
set(ao,'SampleRate',Fs) %设置采样率
data1 =y(:,1); %双声道
data2 =y(:,2);
putdata(ao,[data1 data2]); %往声卡堆音乐数据
%输出音乐数据
setappdata(handles.figure1,'ao',ao);
start(ao);
% --------------------------------------------------------------------
function pause_Callback(hObject, eventdata, handles)
% hObject handle to pause (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
ao=getappdata(handles.figure1,'ao');
stop(ao);
运行的界面如下图:可以选择停止播放,或者在音乐放完后可以再点播放接着听音乐,放松工作时间啊
菜单项目的功能有打开,和保存两个打开是打开图片,保存是保存你处理的各种图像,没有打开图像前保存菜单是不可选的,这四种处理没有相应的处理时也是不可选的如下图
点RGB直方图均衡button可以看到显示到了相应位置上,此时保存菜单里的保存RGB直方图均衡图像可以选择
程序完整的运行效果如下图,保存hsi直方图到桌面操作
到此,整个matlab gui 界面设计就完成了,本人记录的笔记仅供参考,有什么错误之处,还望指出。
matlab gui界面设计记录的更多相关文章
- MATLAB GUI界面设计------“轴”组件配置
1> Fontsize 10 %字体大小 2> FontUnits normalized %采用相对度量单位,缩放时保持 ...
- MATLAB(3)——GUI界面设计入门
作者:桂. 时间:2017-03-01 18:43:35 链接:http://www.cnblogs.com/xingshansi/articles/6485688.html 声明:转载请注明出处, ...
- matlab GUI界面编程总结
去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...
- PyQt5多个GUI界面设计
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/90454379 - 写在前面 本科毕业设计终于告一段落了.特 ...
- Matlab GUI界面
做SVD的时候,看学姐的demo,用到了matlab的GUI,感兴趣就自己学了一下: 从简单的例子说起吧. 创建Matlab GUI界面通常有两种方式: 1,使用 .m 文件直接动态添加控件 ...
- MATLAB图形界面设计(下)
文章参考Blue Mountain https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4307777.html 一.菜单设计 1.建立菜单项 (1)建 ...
- python3下GUI界面设计之控件精确定位
#codeing:utf-8import tkinterimport tkinter.messageboxfrom tkinter import filedialogfrom tkinter impo ...
- MATLAB图形界面设计(上)
参考https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4307777.html 一.图形句柄 1.定义 MATLAB在创建每一个图形对象时,都会给该对 ...
- MATLAB GUI对话框设计(转载)
原文地址:http://blog.csdn.net/shuziluoji1988/article/details/8532982 1.公共对话框: 公共对话框是利用windows资源的对话框,包括文件 ...
随机推荐
- 分布式全局ID的几种生成方案
前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等. 那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是 ...
- css 制作一个点
aside li a:before { content: ''; display: inline-block; width: 4px; height: 4px; background-color: # ...
- 对于在tinyOS中读取MPU6050数据卡死的总结
最近这几天一直给tinyOS挂载外设,从最简单的LED.KEY,再到串口,这些都没什么大问题,无非就是先初始化tinyOS,再初始化硬件外设,接着启动tinyOS,然后tinyOS去寻找优先级最高的任 ...
- 小A的数学题
小A最近开始研究数论题了,这一次他随手写出来一个式子, 但是他发现他并不太会计算这个式子,你可以告诉他这个结果吗,答案可能会比较大,请模上1000000007. 输入描述: 一行两个正整数n,m一行两 ...
- Python&Selenium 数据驱动【unittest+ddt+xml】
一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt模块使用xml文件作为数据文件作为测试输入 二.xml文件 <?xml version ...
- Git 分支开发规范
您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...
- 《Redis 设计与实现》读书笔记(三)
多机数据库实现 十五 .复制 从服务器通过命令 slaveof 127.0.0.1 6000 成为主服务器的从服务器.然后执行复制操作,保持自己的状态和主服务器一样 1.理论 同步 成为从服务器后的同 ...
- 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) A. Altruistic Amphibians (DP)
题目链接:https://codeforc.es/gym/101933/problem/A 题意:有 n 只青蛙在一个坑里面,要求可以跳出坑的青蛙的最大数量.每个青蛙有 3 种属性:l 为青蛙一次可以 ...
- 1、创建MFC应用程序——单个文档
文件——新建——项目——MFC应用程序 运行即可. [菜单栏单击事件] 视图——其他窗口——资源视图,双击Menu中的IDR_MAINFRAM,打开菜单栏.在主菜单栏输入“显示你好”. “显示你好”处 ...
- xml------文件打开样式
-----添加css样式修饰 引入css样式 浏览器展示 -------- 在服务器上通过 XSLT 转换 XML xsl文件 样式展示