How to read images from one directory into variables using loop?
Show older comments
I am new in Matlab. I want to read all images from a directory and store each of them into separate variables. For example, if there are 225 images then i should have 225 variables, each of them containing pixel values of corresponding image, no matter same name as image or different.
Accepted Answer
More Answers (1)
Rik
on 27 May 2019
0 votes
You don't want numbered variables. Try a cell array instead. That way you can much more easily loop through your images to do the further processing.
6 Comments
Md Farhad Mokter
on 27 May 2019
Rik
on 27 May 2019
list=dir('*.png');
IMlist=cell(size(list));
for n=1:numel(list)
IMlist{n}=imread(list(n).name);
end
Md Farhad Mokter
on 27 May 2019
Rik
on 28 May 2019
There is no reason to store your images in separate variables. Why do you think you need that?
Md Farhad Mokter
on 28 May 2019
Rik
on 28 May 2019
You are much better off just processing the images in a loop without storing the intermediate steps. You could also consider a struct array with a field for the file name and a field with the property of interest (and you could even add a field with the image itself).
Categories
Find more on Images in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!