【matlab】函数uigetfile的使用

版权声明:转载时打个招呼。 https://blog.csdn.net/qq_15971883/article/details/83149707

假设此处的指定文件夹为:F:\picture,处理对象是格式为.jpg的图片。代码如下:

% read image
[filename, pathname, filterindex] = uigetfile('F:\picture\*.jpg', '选择图片');
file = fullfile(pathname, filename); 
img = imread(file); 
figure, imshow(img); 

执行代码之后,首先弹出名为“选择图片”的对话框,如下图所示:

然后选择“4.jpg”,将会弹出一个figure,显示该图像。


上述代码中用到了函数uigetfile,接下来介绍这个函数的常见用法。

函数uigetfile()

打开文件选择对话框

语法:

file = uigetfile
[file, path] = uigetfile
[file, path, index] = uigetfile
____ = uigetfile(filter)
____ = uigetfile(filter, title)
____ = uigetfile(filter, title, defname)
____ = uigetfile(____, 'MultiSelect', mode)

说明:

file = uigetfile 打开一个模态对话框,其中列出了当前文件夹中的文件。用户可以在这里选择或输入文件的名称。如果文件存在并且有效,当用户点击打开时,uigetfile将返回文件名。如果用户点击取消或窗口关闭按钮(X),uigetfile将返回0。

当用户点击打开时,[file, path] = uigetfile 将返回文件的名称和路径。如果用户点击取消或窗口关闭按钮(X),uigetfile将为两个输出参数都返回0。

当用户点击打开时,[file, path, index] = uigetfile 将返回在对话框中选择的筛选器的索引。(示例)

扫描二维码关注公众号,回复: 3769499 查看本文章

____ = uigetfile(filter) 指定文件扩展名,根据该扩展名筛选对话框中显示的文件。可以将此语法与上述语法中的任何输出参数结合使用。通常,只显示文件扩展名匹配的文件。在某些平台上,uigetfile 还会显示与筛选器不匹配的文件,但这些文件的文件名会灰显。如果筛选器缺失或者为空,uigetfile 将使用默认文件类型列表(例如,所有MATLAB文件)。

____ = uigetfile(filter, title) 指定对话框标题。要使用默认文件筛选器进行筛选,但指定自定义标题,请使用空引号作为筛选器值。例如:file = uigetfile(' ', 'Select a File')

____ = uigetfile(filter, title, defname) 为文件名字段指定默认文件名。

____ = uigetfile(____, 'MultiSelect', mode) 指定用户是否可以选择多个文件。将模式设置为“on”,将允许进行多选。默认情况下设置为“off”。

示例:

显示完整文件路径

显示在对话框中选择的文件的完整文件路径。使用disp和fullfile函数添加说明性文本并串联path和file的输出值。

[file, path] = uigetfile('*.m'); % 列出当前文件夹下的所有.m文件

if isequal(file, 0) % 如果file的返回值等于0
   disp('User selected Cancel'); 
else
    disp(['User selected ', fullfile(path, file)]); 
end

将在命令行窗口显示User selected F:\MATLAB_code\matlab训练场\code.m

显示筛选器索引值

在命令行窗口显示选定筛选器的索引值及相关的说明性文本。使用num2str函数将数值型筛选器索引值(index)转换为字符数组。这样可使索引值成为disp函数的有效输入。

[file, path, index] = uigetfile; 

if isequal(file, 0) 
   disp('User selected Cancel'); 
else
    disp(['User selected ', fullfile(path, file), ' and filter index: ', num2str(index)]); 
end

将在命令行窗口显示User selected H:\Documents\MyCode\peaks.fig and filter index: 3

按扩展名筛选文件

通过指定 '*.m' 作为filter输入参数,在对话框中仅显示扩展名为.m的文件。

[file, path] = uigetfile('*.m'); 

指定筛选器列表和对话框标题

[file, path] = uigetfile({'*.m'; '*.slx'; '*.mat'; '*.*'}, 'File Selector'); 

指定默认文件名

要在对话框打开时在文件名字段中显示一个默认的文件名,请将此文件名作为defname输入参数进行传递。

[file, path] = uigetfile('*.m', 'Select a m file', 'code.m'); 

其他内容参考matlab帮助文档。

猜你喜欢

转载自blog.csdn.net/qq_15971883/article/details/83149707