MATLAB GUI设计中的一些常用函数

Matlab GUI常用函数总结

% — 文件的打开、读取和关闭 

% — 文件的保存 
% — 创建一个进度条 
% — 在名为display的axes显示图像,然后关闭 
% — 把数字转化为时间格式 
% — checkbox的callback函数 
% — 图像识别处理相关的两个函数 
% — 点击图像,调用函数 
% — montage 

% --- 文件的打开、读取和关闭 ---
  try
    [FileName,PathName] = uigetfile('*.raw','Select an image file');
    FID = fopen(strcat(PathName,FileName));
    readNum = 100000;
    fseek(FID, 0,'bof');	
    [data,length] = fread(FID,readNum, 'int16');
    fclose(FID);
  catch err
    warning = msgbox('Fail to open file.','Warning','warn');
    fclose(FID);
  end
  
  
% --- 文件的保存 ---
  [file,path] = uiputfile('*.mat','Save Mask As');
    save(strcat(path,file),'mask');
  
  
% --- 创建一个进度条 ---
  wait = waitbar(0.1,'Loading data from disk...');
  waitbar(0.2,wait);
  waitbar(1.0,wait);
  close(wait);
  
  
% --- 在名为display的axes显示图像,然后关闭 ---
  img = imagesc(data, 'Parent',handles.display);
  close img;
  
  
% --- 把数字转化为时间格式 ---
  function str = convertTime(time)
    sec = num2str(mod(time,60000)/1000,'%6.3f\n');
    min = num2str(floor(time/60000));
    str = strcat(min,':',sec);
    
    
% --- checkbox的callback函数 ---
  checked = get(handles.checkbox,'Value');
    if(checked)
    %已选中,将方框打钩
        set(handles.checkbox,'Value',1);
    else
    %未选中,方框的钩去除
        set(handles.checkbox,'Value',0);
    end
  
  
% --- 图像识别处理相关的两个函数 ---
% 图像pic一般是二值图像
  se = strel('ball',6,6);
    %erode image
    pic = imerode(pic,se);
    %dilate image
    pic = imdilate(pic,se);
  
  
% --- 点击图像,调用函数 ---
  img = imagesc(data, 'Parent',handles.display);
  %点击图像区域,触发该图像的ButtonDownFcn函数,执行adjustMask()函数
  set(img,'ButtonDownFcn',{@adjustMask});
  
  %adjustMask函数定义
  function adjustMask(hObject, eventdata)
  handles= guidata(hObject); 
  ...


% --- Montage function usage ---
        fileFolder = 'C:\ZHYH\CV\PrtScn';
        dirOutput = dir(fullfile(fileFolder,'AP_m*.jpg'));
        fileNames = {dirOutput.name}';
        montage(fileNames);

新窗口初始化的内容放在OpeningFcn(hObject, eventdata, handles, varargin)的结尾,不会报错。

巧妙地使用按键的‘Enable’属性,可以有效避免误操作引起的麻烦。

设置一些必要的bool类型的标记,表示程序的运行状态。

在一个窗口window打开新的窗口new_window,可以新建一个new_window的.fig和.m的文件,然后在window的代码中直接调用new_window()函数。

你可能感兴趣的:(MATLAB)