Loading in multiple image files of different sizes

7 views (last 30 days)
Hey guys, I am having issues trying to figure out one of my problems. I am supposed to load in all images from a face image folder. I need to use a for loop. The images can be stored in any way, except I cannot store them into one big matrix because they are all different sizes. Thank you!!

Accepted Answer

KSSV on 19 May 2017
Edited: KSSV on 19 May 2017
imagefiles = dir('*.jpg') ; % give your extension of images
nfiles = length(imagefiles) ; % total number of images
iwant = cell(nfiles,1) ; % pre-allocation to store images
% loop for each image
for i = 1:nfiles
iwant{i} = imread(imagefiles(i).name) ;

More Answers (1)

Image Analyst
Image Analyst on 19 May 2017
Simply use imread() in a loop like the FAQ shows:
There is most likely no reason to use a cell array since I doubt there is a definite need to have all the images in memory simultaneously. You'd most likely run into memory problem if you have more than a few dozen. You will most likely process one image at a time so you only need to have one image variable, not a cell array. If you think I'm wrong, tell me why you need all the images in the folder in memory at the very same time (something I rarely rarely , if ever, need to do).

Community Treasure Hunt

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

Start Hunting!