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)?

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 12 Mai 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});

Plus de réponses (0)

Produits

Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by