在Matlab中使用nlfilter函数时如何禁用进度条?

时间:2016-02-23 12:34:06

标签: matlab image-processing

每次调用nlfilter函数时,都会出现一个进度条窗口。我怎么能禁用那个窗口?是否有-q等选项?

我按行处理图像并应用自定义函数,因此调用nlfilter函数时生成的窗口非常麻烦,同时也降低了系统的性能。

请注意,我只想暂时禁用该窗口。

1 个答案:

答案 0 :(得分:3)

MATLAB中的waitbar肯定会降低代码的性能,并且在某些操作系统上运行长时间运行的任务时会非常讨厌,因为它可能会随机窃取键盘/鼠标的焦点。

我亲自创建自己的waitbar函数并将其放在MATLAB路径上,以便对其进行评估而不是内置函数。

我有一个更复杂的基于文本的进度条,但以下函数只是将消息打印到命令行。你甚至可以删除第一个块,并且内容只是varargout = {[]};,你将没有输出。

function varargout = waitbar(varargin)
    if nargin >= 2 && ischar(varargin{2})
        disp(varargin{2})
    elseif nargin >= 3 && ischar(varargin{3})
        disp(varargin{3})
    end
    varargout = {[]};
end

请务必将此保存在MATLAB路径上的waitbar.m高处。

  

注意:这会使所有等待栏静音,因此如果您想恢复典型的等待栏行为,您需要删除/重命名此文件。