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

 Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 26 Mai 2011

1 Stimme

10 Kommentare

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]));

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by