imread with new name

2 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2022-8-22
"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:

请先登录,再进行评论。

采纳的回答

Voss
Voss 2022-8-22
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}

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing and Computer Vision 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by