我正在尝试在MATLAB中输出.mat文件,但出现此错误:
a = load('GT_IMG_4.mat');
imshow(a);
使用错误
imageDisplayValidateParams
的预期输入编号1,I
,是这些类型中的一种:
double
,single
,uint8
,uint16
,uint32
,uint64
,int8
,int16
,int32
,int64
,logical
。相反,它的类型是struct
。错误
images.internal.imageDisplayValidateParams
(第11行)validateattributes(common_args.CData, {'numeric','logical'},...
错误
images.internal.imageDisplayParseInputs
(第78行)common_args = images.internal.imageDisplayValidateParams(common_args);
错误
imshow
(第222行)images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});
为什么会出现此错误,以及如何解决?.mat文件是图像的基本信息。如何查看.mat文件?
load()
将返回一个包含Mat文件中数据的结构。
下面的代码是不正确的,因为a
是struct
保持你的数据,而不是数据本身。
a = load('GT_IMG_4.mat');
imshow(a);
我的猜测是您想做这样的事情:
h = load('GT_IMG_4.mat'); %I tend to use h to mean handles
imshow(h.a);
请注意,如果您h
在加载后在命令窗口中键入内容,则应该看到该结构的内容。您可能需要深入研究才能找到,a
具体取决于您保存数据的方式。
从技术上讲,您也可以这样做(假设已h.a
在上面工作):
load('GT_IMG_4.mat');
imshow(a);
这会将变量从Mat文件加载到当前工作空间中。请不要这样做。我的意思是您可以...但是它是我的宠儿之一,因为那样您就不知道a
从哪里来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句