Я пытаюсь использовать функцию movefile в Matlab 2019b, но получаю следующую ошибку:
Error using movefile
Unknown error occurred.
Error in image_sort (line 19)
movefile(source,destination);
Мой код выглядит следующим образом.
imagefiles = dir('HAM10000_images_combined\');
nfiles = length(imagefiles);
% Open directory with images and count the number of files
for k = 1 : nfiles
%For every file
currentfilename = imagefiles(k).name;
%Get filename
xlrangeLeft = sprintf('C%s', num2str(k+1));
xlrangeRight = sprintf(':C%s', num2str(k+1));
xlRange = strcat(xlrangeLeft, xlrangeRight);
%Get cell range that has the class data for that specific image
[~, class] = xlsread('HAM10000_metadata_sorted.xlsx','HAM10000_metadata_sorted', xlRange);
class = char(class);
%Retrieve class data.
source = strcat('HAM10000_images_combined\', currentfilename);
destination = strcat('HAM10000_images_sorted\', class, '\');
movefile(source,destination);
% Move file to its corresponding class
end
HAM10000metadata_sorted.xlsx - это файл Excel, содержащий данные класса в столбце для каждого изображения. Примерно так:
"nv"
"nv"
"mel"
"nv"
etc.
Объединенная папка содержит все изображения, в то время как отсортированная папка содержит папки каждого класса. Цель состоит в том, чтобы переместить изображения из объединенной папки в нужные папки в отсортированной папке.
Предполагается, что код будет считываться с листа Excel, чтобы получить сведения о классе об изображении. Затем предполагается переместить изображение из объединенной папки в отсортированную папку и правильно поместить в нужную папку классов. Но в конечном итоге это приводит к удалению объединенной папки и созданию новой папки Ham10000_images_sorted, даже если она уже существует. Внутри этой вновь созданной папки все изображения попадают в папку «nv», а у всех других классов нет папки.
Есть какие-нибудь сведения о том, почему код не работает для сортировки изображений?