matlab交互式程序设计示例:GUI界面编程1
来源:互联网 发布:ftp自动同步软件 编辑:程序博客网 时间:2024/05/16 12:04
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及 数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
图形用户界面(GUI)是用户与计算机程序之间的交互方式,是用户与计算机进行信息交流的方式。
工具/原料
MATLAB guide工具箱
方法/步骤
我们要进行的程序是彩色图像处理试验示例,用这个程序来练习我们的gui前台设计。
程序功能介绍:具有彩色图像处理及保存和音乐播放功能效果如下图
在MATLAB的命令窗口中输入guide命令,打开guidequick start窗口,选择create new gui 点ok 生成新的fig文件如下图:
右点窗口 ,打开属性设置修改figur窗口名字,点name项就可以改 我们改为xiaobotest.fig,而后我们在窗口中拖进来,和几个按纽用于交互程序的事件触发,做成前台如下图
前台部分 接下来我们还要进行窗口菜单的制作,点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界面编程1
- Matlab------------GUI编程:gui程序设计与发布
- matlab GUI界面编程总结
- Matlab---GUI编程1
- MATLAB的GUI 程序设计
- MATLAB GUI界面总结
- Matlab GUI界面
- MATLAB GUI界面总结
- Matlab GUI界面,按钮
- MATLAB的GUI应用程序设计
- Matlab GUI界面 (转)
- Matlab GUI界面(转)
- Matlab------------Gui编程listbox
- Matlab GUI 编程体验
- matlab gui 编程
- Matlab GUI编程
- matlab GUI编程入门
- MATLAB GUI编程入门
- C# Tabcontrol 中textbox focus
- 数据库设计三大范式
- ACCESS数据库
- 如何在svn系统中使用git
- 大型网站架构改进历程:存储的瓶颈
- matlab交互式程序设计示例:GUI界面编程1
- Android学习大纲
- 系统内核级botnet(僵尸网络)分析防范
- Linux3.19内核block层出现新变化,增加 multi-queue block layer
- Crm客户管理为什么这么火
- ImportError: No module named flask.ext.wtf
- android屏幕适配建议
- think3.2.3 总结1
- CenOS5.6下安装nagios3.2监控服务器群的运行状况