2016-08-01 1 views
0

Я работаю над проблемой машинного обучения классификации различных типов листьев с использованием набора данных flavia. У меня есть папка набора данных, в которой есть 32 подпапки, каждая из которых содержит некоторые изображения соответствующего класса. Изображения имеют серого размера 4096x1. Как я могу загрузить все эти изображения из всех подпапок одновременно, а затем создать файл csv из сохраненных значений пикселей?Создание файла csv путем загрузки нескольких изображений в matlab

ответ

0

Создать массив ячеек со всеми именами файлов, например.

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

и т.д. (есть несколько способов сделать это автоматически, но, учитывая, у меня нет никакой информации о вашей файловой структуре, и есть не так много файлов, давайте пропустить этот шаг.)

Тогда есть a для петли

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' для создания массивов ячеек –