How to access multiple images in a single code ?

Hello Mathworks,
My question might sound a little bit odd but what I meant to say was if I have a group of 25 images in a single folder and if I have to calculate say max pixel or min pixel of every image then do I need to write min(x1) min(x2) ..... min(x25) or is there anyway with which I could write a code once and repeat it for other 24 images ?
I have had this doubt for quite a long time so now I am waiting to see some interesting facts :)
Thanks All

 Accepted Answer

10 Comments

That was super fast Sean.
Thanks for the help :)
I took the example code from the link and when I ran it I found this error
??? Conversion to cell from uint8 is not possible.
jpegFiles = dir('*.jpg');
numfiles = length(jpegFiles);
mydata = cell(1, numfiles);
for k = 1:numfiles
mydata{k} = imread(jpegFiles(k).name);
end
What line was the error on? I don't see anything here that would throw that error.
Line 6
mydata(k) = imread(jpegFiles(k).name);
Where's Waldo MATLAB Style:
Look for the subtle but lethal difference between the line in the previous comment and your comment before!
Yep I figured it now.But how do I convert it into gray ???rgb2gray() doesn't work on 'cell' class ?
mygraydata = cellfun(@(x)rgb2gray(x),mydata,'uni',false);
Sean you are an awesome guy :) How do you know all these ???
Okay now since I have loaded all my gray 22 images into one single variable.I got another question. How do I access each of them ? As mygraydata is 1 x 22 cell and each cell contains an image of size 408 x 704. I have tried converting this cell to matrix using cell2mat() but still I cannot call single image to find it's maximum value.
gray3Dimage = cell2mat(reshape(mygraydata(:),[1 1 22]));

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!