How to sort images from a folder in subfolders using the data from a excel/ .mat file?

2 views (last 30 days)
Hello, I have a dataset with flowers (8000 pictures) and i need to sort them in subfolders (rose, tulip, etc) and i have the imagelabel.mat witch is a double value (1x8000) where i can see how many examples are for each class. How can i sort them without having to create folders and copy-paste the images in folders? A code example would help a lot. Thanks

Accepted Answer

TADA
TADA on 11 Nov 2018
Edited: TADA on 11 Nov 2018
You need to iterate through your dataset and ensure the necessary subfolder exist, then move the file
% concat sub folder path
subfolderPath = [parentDirPath '\' flowerName];
% check if subfolder exists
if ~exist(subfolderPath, 'dir')
% create subfolder
mkdir(subfolderPath);
end
% move file from original path to subfolder
[status, msg] = movefile([parentDirPath '\' fileName], [subfolderPath '\' fileName]);
% check if file moved successfully
if ~status
% log error
end
That's the general idea
  4 Comments
Niculai Traian
Niculai Traian on 11 Nov 2018
ok, but do i need to use
[status, msg] = movefile([parentDirPath '\' fileName], [subfolderPath '\' fileName]);
for each image? they are named image_0001 and so on. I was hoping that the script will sort them automatically by using the data i provided in .mat file
TADA
TADA on 11 Nov 2018
You will have to loop through your data and do that for each file
for i = 1:length(yourData)
% use above code
end
I don't know the names of your variables or how your data is saved or anything else about it.
That's the general idea

Sign in to comment.

More Answers (0)

Categories

Find more on File Operations in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!