How to read input images from the folder sequentially

58 views (last 30 days)
S.A
S.A on 9 Apr 2018
Commented: Jan on 19 Mar 2022
Hello, In my work I'm giving input as a folder of facial photos which consists of 10 images. The output enhanced images are getting stored in separate folder But the problem is, it is not getting stored in the same order as that of the images passed through input folder. The images are read randomly.

Answers (2)

KALYAN ACHARJYA
KALYAN ACHARJYA on 9 Apr 2018
Edited: KALYAN ACHARJYA on 9 Apr 2018
% Save all images name in a sequence manner before doing the operation
% names for example im1,im2,im3...
%Save the folder of images in the current directory
path_directory='folder_name'; % 'Folder name'
original_files=dir([path_directory '/*.jpg']);
for k=1:length(original_files)
filename=[path_directory '/' original_files(k).name];
image_orginal=imread(filename);
% Image read is done
%%Image Operation as per your work
end
  5 Comments

Sign in to comment.


Stephen23
Stephen23 on 15 Aug 2018
Edited: Stephen23 on 23 Apr 2020
Presumably the filenames have numbers in them, and you are getting them listed not in numeric order...One solution is to download my FEX submission natsortfiles, which was written to solve that exact problem:
There are plenty of examples in the Mfile, in the online description, and in the HTML documentation, so you should not have any problems using it. You will probably want something like this:
D = 'path of the folder where the files are';
S = dir(fullfile(D,'*.txt'));
F = natsortfiles({S.name});
for k = 1:numel(F)
im = imread(fullfile(D,F{k}))
...
end
  5 Comments
Jan
Jan on 19 Mar 2022
@Manuella Juwita: What are "alphanumerically overlaying plots in one figure"? Plots do not have directories.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!