How use imread in a loop
    7 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Hello everyone,
i am trying to use imread to read multiple images in a for loop.
path='Z:\collect_data';
for t=1:length(nan_rows)
image_test=imread([path,'nan_rows' (t)]);
%further coding
end
the 'nan_rows' here is a string array.
I want to read the images which the file names are stored in the array.
Does anyone know how to do it?
Thanks a lot in advance!
1 Kommentar
  DGM
      
      
 am 23 Feb. 2023
				There are many, many examples around.  This is a handful from the first page of search results.
Akzeptierte Antwort
  VBBV
      
      
 am 23 Feb. 2023
        
      Bearbeitet: VBBV
      
      
 am 23 Feb. 2023
  
      image_test{t}=imread([path,'nan_rows' num2str(t)])
7 Kommentare
  DGM
      
      
 am 23 Feb. 2023
				According to the question, the filenames are in a string array, so I don't know why we're generating number suffixes at all.  If we are to generate number suffixes, then we'd actually need to know how they're formatted.  
% you have your base path
fprefix = fullfile(matlabroot,'toolbox','images','imdata');
% and you say you have a string array of filenames
fnames = ["cameraman.tif" "tire.tif" "coins.png" "strawberries.jpg"];
nfiles = numel(fnames);
image_test = cell(nfiles,1); % preallocate
for k = 1:nfiles
    image_test{k} = imread(fullfile(fprefix,fnames(k)));
end
montage(image_test)
Build the path with fullfile().  If you have to programmatically construct the filename, using sprintf() is simpler and more readable imo.
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Image Preview and Device Configuration finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



