Ошибка Matlab при создании CSV-файла из набора изображений с использованием imread и csvwrite - PullRequest
0 голосов
/ 04 июня 2018

Я хочу конвертировать набор изображений в 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-файл с однократным выполнением кода.

1 Ответ

0 голосов
/ 04 июня 2018

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.

...