Matlab GUI设计中的一些常用函数 - KK4SBB

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()函数。

posted on 2014-02-26 12:17 KK4SBB 阅读(2183) 评论(0) 编辑收藏举报