Looping through 4 Images that have fixed names

3 views (last 30 days)
Hello. I have 4 images in memory that I want to loop through and perform some analysis on. I can't find a way to do this. The image names (that are held in memory) are always the same names.
IMList=app.IM1, app.IM2, app.IM3, app.IM4
Thanks
Jason

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 26 Oct 2021
You can for example put the filenames into a cell-array:
imFileNames = {'im1.jpg','im2.png','im3.jpeg','im5.tiff'};
Then you can easily load the images one-by-one and do the single-image analysis on each:
for iIm = 1:numel(imFileNames)
currIm = imread(imFileNames{iIm});
results = fancy_img_processing(currIm);
end
HTH
  4 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 27 Oct 2021
Sloppy reading by me, fortunately close enough for you to turn it into a solution!

Sign in to comment.

More Answers (2)

the cyclist
the cyclist on 26 Oct 2021
IMList="app.IM"+(1:4)
IMList = 1×4 string array
"app.IM1" "app.IM2" "app.IM3" "app.IM4"
creates a 1x4 string array, and then you can loop through that array to use the names.
  2 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 26 Oct 2021
Then dont bother faffing about, simply put the filenames into a cell-array. See my answer.

Sign in to comment.


Walter Roberson
Walter Roberson on 26 Oct 2021
IMList = {app.IM1, app.IM2, app.IM3, app.IM4};
nimg = length(IMList);
for K = 1 : nimg
IM = IMList{K};
app.ROI_C = IM; %or whatever
%more stuff
end
  1 Comment
Jason
Jason on 26 Oct 2021
Thanks Walter, but I had worked it out - sorry I I've already accepted the previous answer

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!