Assigning values to images in an imageset

2 views (last 30 days)
I read an imageset as such:
imgset = imageSet('dataset');
a1 = read(imgset,1);
a2 = read(imgset,2);
a3 = read(imgset,3);
Where i create a new variable that corresponds to each image in a dataset.
Is there an automated way that i can do this (create new variables into the workspace) for the duration of the imageset (ie imgset.Count)?

Accepted Answer

Ameer Hamza
Ameer Hamza on 12 May 2020
You should try to avoid dynamic variables names like a1, a2, ... and use arrays. Read here why: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
For example, here you can use cell arrays
imgset = imageSet('dataset');
imgs = cell(1, imgset.Count);
for i=1:numel(imgs)
imgs{i} = read(imgset, i);
end
and then you can access the image using brace indexing
imshow(imgs{1});
imshow(imgs{2});

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!