文件交换的选择

我们最好的用户提交

UIGETVARIABLES:一个变量选择器小部件构建gui应用程序

布雷特本周的选择是UIGETVARIABLES,通过斯科特·赫希。斯科特·赫希(还记得斯科特吗?最初的这个博客的作者之一?)最近与我共享和文件交换社会——一个函数,我发现非常有用的,和别人也要考虑。首先,快速的背景……在撰写本文时,最新的发行版的MATLAB (R2012b)是“生活”,任何人都可以下载当前许可证。R2012b是一个主要版本对我们来说,一个包含了一个新的桌面设计和许多伟大的新功能。我最喜欢的一个是新的MATLAB将来发布:一种GUI迷,我特别喜欢“应用程序”选项卡,不仅提供了可以访问各种MathWorks-provided GUI工具,但它允许您定制您的MATLAB环境中加入你最喜欢的GUI工具。不是一个浪费这样的机会,我很快紧跟潮流分享应用一些我自己的image-processing-centric gui。(安装是一个微风,顺便问一下;点击“mlappinstall”与gui安装程序文件打包,和gui自动出现在你的应用程序的列表。)所以哪里UIGETVARIABLES进入照片吗?大量的用户下载,希望发现效用,我MorphToolGUI交互地执行图像形态学(相呼应、侵蚀、倒闭、开口等)。但正如最初写,MorpTool不是有用的应用程序,因为我没有提供一种方式从GUI中加载图像;相反,您必须在调用函数中指定图像。显然,作为Toolstrip-accessible应用程序使它工作,我必须修改代码来允许用户导入一个图像。使用uigetfile,我可以很容易地促进从文件中加载一个图像。但加载图片,已经存在一个变量在MATLAB工作区吗?虽然我可能已经能够鹅卵石一起做的事,斯科特的文件保存我不必这样做!语法:varout = uigetvariables(提示,介绍、类型ndimensions)让我指定类型大小可以选择的数据,一个GUI展示用户提供有效的选项是自动创建的。例如,如果我想提示用户选择一个标量,一个向量,矩阵,我只需要写:
tvar = uigetvariables({'选择一个标量:','选择一个向量:','选择一个矩阵:},[],[],[0 1 2]);
uigetvariables将创建一个自定义选择GUI,便于选择:我还可以指定更高级的选择标准;斯科特的聪明的效用会告诉用户哪些变量是可以接受的,并会显示当没有工作空间变量符合要求。最终结果:真的很容易修改我的代码来允许用户选择一个麦根或者MxNx3 (RGB)图片:
validateimage = @ (im) (isnumeric (im) | | islogical (im) & & (ndims (im) = = 2 & & ~任何(大小(im) = = 2) | | (ndims (im) = = 3大小(im, 3) = = 3));img = uigetvariables(提示、inputstring validateimage);
很好,斯科特!像往常一样,这篇博客评论是受欢迎的。或为斯科特留下评论在这里

使用MATLAB®8.0发表
|
  • 打印

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。