2016-08-01 85 views
0

我正在研究使用flavia数据集对不同类型的叶子进行分类的机器学习问题。我有一个数据集文件夹,其中有32个子文件夹,每个文件夹包含相应类的一些图像。图像是尺寸为4096x1的灰度。 如何一次加载所有子文件夹中的所有这些图像,然后从存储的像素值中创建一个csv文件?通过在matlab中加载多个图像创建一个csv文件

回答

0

创建一个包含所有文件名的单元阵列,例如

C{1} = '/path/to/file1.png'; 
C{2} = '/path/to/file2.png'; 

等(有几种方法可以自动执行此操作,但鉴于我对你的文件结构没有任何信息,有没有那么多的文件,让我们跳过此步骤。)

然后有for循环

for n = 1 : 32 
    I = imread(C{n}); 
    csvwrite('my_csv_file.csv', I(:).', '-append'); 
end 

PS。 (:).'语法确保每个图像成为一行。

+0

其实我有32个子文件夹,每个文件夹都有一个特定的叶子类型的名称。例如。名为中国郁金香的文件夹将有大约60-70幅中国郁金香图像。所以像这样有32个文件夹,每个文件夹包含60-70张图片。所以这个数据集总共有大约2000个图像。不可能为每个图像单独创建一个单元阵列。我该如何解决这个问题? – user564650

+0

你可以使用'readdir'来创建单元阵列 –

相关问题