matlab not reading images from folder in correct sequence

3 views (last 30 days)
Hi, i have stored the images in a folder by name ex. 1.jpg 2.jpg etc. When i am running the code the matlab doesn't read the images in that sequence. Please help
directory = 'C:\Users\Documents\MATLAB\photos';
files = dir([directory '/*.jpg']);
for i = 1:length(files)
image{i} = imread([directory '/' files(i).name]);

Answers (1)

Erivelton Gualter
Erivelton Gualter on 20 Nov 2019
Edited: Erivelton Gualter on 20 Nov 2019
It had happened to me before. The problem is the files name is sorted in according to the strings.
Let's say you have the following images in your folder:
  • 1.jpg
  • 2.jpg
  • ...
  • 10.jpg
  • 11.jpg
If you run the following code:
for i=1: length(files)
files(i).name % Shows the name of the files
end
The output will be:
ans =
'10.png'
ans =
'11.png'
ans =
'1.png'
ans =
'2.png'
...
If you rename your files as in the following, the files will be sorted correctly:
  • 01.jpg
  • 02.jpg
  • ...
  • 10.jpg
  • 11.jpg

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!