我有这句话colorImage = imread(uigetfile('*.jpg;*.tif;*.png;*.gif'));
,我在电脑上选择一张图片。
问题是当我按下取消按钮时会出现错误。当我按下取消时如何捕获错误?
提前致谢。
答案 0 :(得分:1)
如果在未指定out参数的情况下使用(如在您的指令中),则函数uigetfile
仅返回filename
。
如果您选择的图像文件既不在当前目录中也不在MatLab path
的文件夹中,则imread
功能将无法找到图像文件;在这种情况下,您必须为imread
提供完整的文件名(路径+文件名)。
你最好分开指令:
uigetfile
class
的{{1}}来执行此操作
filename
的{{1}}将为class
filename
,因为char
在这种情况下返回double
uigetfile
这是上面列出的步骤的可能实现。
0
答案 1 :(得分:0)
使用Matlab的try and catch机制。 例如:
try
colorImage = imread(uigetfile('*.jpg;*.tif;*.png;*.gif'));
catch ME
if (strcmp(ME.identifier,'MATLAB:imagesci:imread:badImageSourceDatatype'))
%do something
end
end