Assigning values to images in an imageset

3 次查看(过去 30 天)
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)?

采纳的回答

Ameer Hamza
Ameer Hamza 2020-5-12
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});

更多回答(0 个)

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by