How to read images in a folder
    107 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Nilushi Dissanayake
 il 25 Gen 2011
  
I am a student and I need to find the code to read the images in a file in order to do cropping. In here I named my images as
 user001-01.bmp
 user001-02.bmp etc.
I need help for this because I'm a beginner to MATLAB.
7 Commenti
  naila
 il 24 Giu 2023
				hi,
i have some jpeg images in a folder (saved in C drive),using imread command in matlab 2018 but its not working.
please help me out. 
  Image Analyst
      
      
 il 24 Giu 2023
				If you have any more questions, then attach your image and code to read it in with the paperclip icon after you read this:
Do it in your own new question rather than here in @Nilushi Dissanayake's question.  And "not working" is so vauge as to be unanswerable.  Explain what that means, like give us ALL the red text.
Risposta accettata
  Michelle Hirsch
    
 il 25 Gen 2011
        Nilushi -
We won't be able to hand you a complete answer, but can give some pointers. Here's a code snippet that shows common patterns for reading data from files. There are a bunch of concepts you are going to want to learn about to understand this code:
- Working with structures. When you get a list of image files, their names will be stored inside of a structure.
- Working with cell arrays. We'll use a cell array to store the data coming from the different images, since it allows for each image to be a different size. If you happen to know that all of your images are exactly the same size you can use a regular numeric array instead.
% Get list of all BMP files in this directory
% DIR returns as a structure array.  You will need to use () and . to get
% the file names.
imagefiles = dir('*.bmp');      
nfiles = length(imagefiles);    % Number of files found
for ii=1:nfiles
   currentfilename = imagefiles(ii).name;
   currentimage = imread(currentfilename);
   images{ii} = currentimage;
end
Best of luck! - scott
10 Commenti
Più risposte (5)
  Sebastian
    
 il 25 Gen 2011
        There might be different ways to do this. An easy one is
for a = 1:10
   filename = ['user001-' num2str(a,'%02d') '.bmp'];
   img = imread(filename);
   % do something with img
end
4 Commenti
  George
    
 il 24 Set 2016
        3 Commenti
  Walter Roberson
      
      
 il 11 Set 2017
				To be slightly more accurate, the imageDatastore function needs R2016a or later, but the imageDatastore class was introduced in R2015b and objects could be created by calls to datastore.
  Walter Roberson
      
      
 il 11 Set 2017
				Before R2015a, the closest equivalent was the dataset array from the Statistics toolbox.
  DGM
      
      
 il 24 Giu 2023
        There are already many examples that I don't need to repeat, but I have my own ways of doing things.  I'm only throwing this here because this is a defacto reference question.  
Pay particular note to the latter part of the answer.
0 Commenti
  Anushrita
 il 16 Lug 2025
        % Step 1: Set path to your image folder
imageFolder = 'path_to_your_folder';  % e.g., 'C:\Users\YourName\Pictures\dataset'
% Step 2: Create an imageDatastore
imds = imageDatastore(imageFolder, ...
    'IncludeSubfolders', true, ...           % Set to true if you have class folders
    'LabelSource', 'foldernames');           % Labels images based on folder names
% Step 3: View basic info
disp('Number of images:');
disp(numel(imds.Files));
disp('Class labels:');
disp(unique(imds.Labels));
% Step 4: Read and show one image (optional)
img = readimage(imds, 1);
imshow(img);
title(sprintf('Label: %s', string(imds.Labels(1))));
0 Commenti
Vedere anche
Categorie
				Scopri di più su File Operations in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

























