imread with new name

1 view (last 30 days)
Jessica Yorzinski
Jessica Yorzinski on 22 Aug 2022
Commented: Jessica Yorzinski on 25 Aug 2022
I want to pre-load images before displaying them later. In order to do so, I need to save them with different names. Here is the code to loop through the folder of images:
for i=1:50
Names=imageNames{i};
Number=num2str(i);
NewName=strcat('ImageID_','Number);
NewName=imread(Names);
end;
But, I'd like the images to be saved as a variable string (e.g., "ImageID_1", "ImageID_2", etc.) but it is instead saving the image as "NewName"
  1 Comment
Stephen23
Stephen23 on 22 Aug 2022
"I'd like the images to be saved as a variable string (e.g., "ImageID_1", "ImageID_2", etc.)"
And force yourself into writing slow, complex, inefficent code that you would need to access those variable names:
The simple, efficient, recommended solution is to use indexing into one array (e.g. a cell array), just as the documentation shows:

Sign in to comment.

Accepted Answer

Voss
Voss on 22 Aug 2022
Instead of 50 different variables named ImageID_1, ImageID_2, etc., how about one variable (a cell array) that contains all 50 images?
n_images = numel(imageNames);
Images = cell(1,n_images);
for ii = 1:n_images
Images{ii} = imread(imageNames{ii});
end
Then you can access any image by indexing into Images. For example, to get the 10th image:
Images{10}
  1 Comment
Jessica Yorzinski
Jessica Yorzinski on 25 Aug 2022
This worked-- thanks!

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!