zoukankan      html  css  js  c++  java
  • matlab gui界面设计记录

    1. 我们要进行的程序是彩色图像处理试验示例,用这个程序来练习我们的gui前台设计。

      程序功能介绍:具有彩色图像处理及保存和音乐播放功能效果如下图

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    2. 2

      在MATLAB的命令窗口中输入guide命令,打开guidequick start窗口,选择create new gui   点ok 生成新的fig文件如下图:

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    3. 3

      右点窗口 ,打开属性设置修改figur窗口名字,点name项就可以改 我们改为xiaobotest.fig,而后我们在窗口中拖进来,和几个按纽用于交互程序的事件触发,做成前台如下图

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    4. 4

      前台部分 接下来我们还要进行窗口菜单的制作,点tools选择menu editor 

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    5.  

      接上面的操作出现一个窗口 点new menu ,选中这个项 接着再点new menu就可以为它加目录项了 ,选中untiled1 可以看到它的属性 可以修改了label 是用于显示文字说明用的 tag相当于句柄一样用于操作的 下面我们改打开表项的 tag 值为open 如下图 

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    6.  

      经过上面的几步操作 就完成菜单制作,功能上就具有 打开文件 保存  音乐播放 停止等如下图

      matlab交互式程序设计示例:[6]GUI界面编程1
    7.  

      下面进行各各菜单项的事件操作,点view(查看)就可以打开callback函数

      function openfile_Callback(hObject, eventdata, handles)这个就是打开操作对应的函数  我们加入如下代码 

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    8.  

      后的各各操作如同上面一样 加入一下代码 分别为保存rgb操作图片和hsi操作图片

      function savergb_Callback(hObject, eventdata, handles)

      function savehsi_Callback(hObject, eventdata, handles)

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    9.  

      对于按纽操作,例如 rgb直方图操作 我们把放到rgb直方图上点右键如下图代码如下

      function pushbuttonrgb_Callback(hObject, eventdata, handles)

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    10.  

      技术细节说明:

      其中实现菜单可选不可选用的是

      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');

      这样就可以实现菜单的冗余操作了

      全部操作后的效果如下图:

      matlab交互式程序设计示例:[6]GUI界面编程1
    11.  

      特别说明:在菜单选项中加入音乐播放功能

      打开制作好的音乐功能菜单的并修改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);

      运行的界面如下图:可以选择停止播放,或者在音乐放完后可以再点播放接着听音乐,放松工作时间啊

    12.  

      菜单项目的功能有打开,和保存两个打开是打开图片,保存是保存你处理的各种图像,没有打开图像前保存菜单是不可选的,这四种处理没有相应的处理时也是不可选的如下图

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    13.  

      点RGB直方图均衡button可以看到显示到了相应位置上,此时保存菜单里的保存RGB直方图均衡图像可以选择

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    14.  

      程序完整的运行效果如下图,保存hsi直方图到桌面操作

      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
      matlab交互式程序设计示例:[6]GUI界面编程1
    15. 到此,整个matlab gui 界面设计就完成了,本人记录的笔记仅供参考,有什么错误之处,还望指出。 

  • 相关阅读:
    delphi 文件的读取(二进制文件和文本文件)
    delphi中用代码实现注册Ocx和Dll(有点怪异,使用CallWindowProc来调用指定函数DllRegisterServer)
    delphi 控件大全(确实很全)
    C#编写Windows 服务
    SSD Buffer Pool Extension
    .NET Web开发技术简单整理
    Python数据库访问之SQLite3、Mysql
    infiniband学习总结
    模板引擎开发3自定义标签的处理
    CSS选择器、优先级与匹配原理
  • 原文地址:https://www.cnblogs.com/tansuoxinweilai/p/10365401.html
Copyright © 2011-2022 走看看