如何将具有1x1结构的.mat文件转换为.csv文件?

时间:2020-04-17 14:29:47

标签: image matlab

我正在尝试在MATLAB中输出.mat文件,但出现此错误:

a = load('GT_IMG_4.mat');
imshow(a);

使用imageDisplayValidateParams时出错
预期输入数字1 I将是以下类型之一:
doublesingleuint8uint16uint32uint64int8int16,{{ 1}},int32int64。相反,其类型为logical

struct中的错误(第11行)

images.internal.imageDisplayValidateParams

validateattributes(common_args.CData, {'numeric','logical'},... 中的错误(第78行)

images.internal.imageDisplayParseInputs

common_args = images.internal.imageDisplayValidateParams(common_args); 中的错误(第222行)

imshow

为什么会出现此错误,以及如何解决此问题? .mat文件是图像的基本信息。如何查看.mat文件?

1 个答案:

答案 0 :(得分:3)

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的来源。