我想将一组图像转换为csv文件。我正在使用Matlab,我需要每行对应一个图像。我尝试使用以下代码
I=imread(c{n});
csvwrite('C:\Users\HP\Desktop\test.csv',I(:).','-append'); % c{n} contains the name of image files to be taken
但是我收到以下错误
使用dlmwrite时出错(第112行) 无效的属性标记:,。
csvwrite出错(第42行)
dlmwrite(filename, m, ',', r, c);
无标题错误(第7行)
csvwrite('C:\Users\HP\Desktop\test.csv',I(:).','-append');
但如果我尝试在没有' -append'没有错误。 如何更改代码,使其一次性获取所有图像,并通过单次执行代码生成csv文件。
答案 0 :(得分:0)
csvwrite
用于编写逗号分隔值,因此添加','
是错误的。然后你在I(:)
之后放了一个点('。'),这也是错误的。我认为如果要附加文件,最好使用dlmwrite
。它会像dlmwrite('C:\Users\HP\Desktop\test.csv',I(:)','-append')
一样(因为你想要将每个图像作为一行,你需要转置数组)。
要在所有图像上使用此功能,请首先将所有图像读入单元格数组&然后你使用cellfun(@(x) dlmwrite('C:\Users\HP\Desktop\test.csv',x(:)','-append'),a)
。或者对于更简单的版本,只需在for
循环内的代码中运行行。