How to resize multiple folder images and save it in MATLAB?

16 views (last 30 days)
I have three folder and each folder contain 10 images. I want to resize each images to 28x28 and then save 28x28 images. I want that my code automatically pick folder one by one.

Answers (1)

Catalytic
Catalytic on 12 Jul 2021
Edited: Catalytic on 12 Jul 2021
Yes, that should be easy, but you haven't told us what part of it you're having difficulty with. If I had to guess, you are struggling to automatically get a list of folders to loop over. One way is,
s=dir;
idx=~startsWith({s.name},'.') & [s.isdir];
folders={s(idx).name}
  2 Comments
Walter Roberson
Walter Roberson on 13 Jul 2021
nfolders = length(folders);
for J = 1 : nfolders
thisfolder = folders(J).name;
fileinfo = dir(thisfolder);
fileinfo([fileinfo.isdir]) = []; %remove . .. and other folders
nfiles = length(fileinfo);
for K = 1 : nfiles
thisfile = fullfile(thisfolder, fileinfo(K).name);
thisimg = imread(thisfile);
thisimg28 = imresize(thisimg, 28, 28);
%you would now want to save thisimg28... but you did not say WHERE
%you want to save it
end
end

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!