matlab gui 特别卡,同样的程序在GUI中为什么比在MATLAB命令窗口中慢很多?

向大家请教一个问题,我在做  图像插值运算时,同样的程序用GUI 要几分钟,直接在MATLAB命令窗口只有几秒

下面是我的GUI 程序

im=imread('cameraman.tif');

global im

global BW  %定义全局变量

str=get(hObject,'string');  %拿到所选按钮的名称

axes(handles.axes2);   %使用第二个axes

switch str   %选择语句

case'nearest'

h=waitbar(0,'请等待...');

BW = imresize(im,1,'nearest')

waitbar(1,h,'已完成');

pause(2);

delete(h);

imshow(BW);title('最邻近插值');

case.......

........

case...

..................

end;

但是我在MATLAB 命令窗口中 直接输入    im=imread('cameraman.tif');

BW = imresize(im,1,'nearest')

imshow(BW);title('最邻近插值')

运行不到三秒钟

两个BW = imresize(im,1,'nearest')  后面都没有加分号,这样可以在MATLAB命令窗口看到运行情况,后者确实比前面好快几十倍,不知道是不是我的程序有问题

另外就是那个进度条,在这种情况下用时开始进度条一直是 0   到最后一下子就变成100%,不是慢慢由0变成满格的

最后是终止程序,运行过程中如果想强制终止程序的话,除了在键盘上 按 ctrl+c 外 ,能不能用函数或者命令终止,就是 在 GUI上设置一个push button  但点击时,终止当前的的任何程序 退出, 我用

clc;

clear all

close(gcf);

好像不行,在正常情况下可以退出,但是 像我那种 在计算插值的时候,运行太久,我想退出时,用 close 根本不行, 最后只能用 键盘或者任务管理器  退出  。

最后再加一个问题 就是用slider 滑块时 怎样可以让滑块的数值随着滑动即时显示出来

向各位高手求教    Thank you very much !

[本帖最后由 fredlau 于 2008-11-23 16:30 编辑]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值