Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

reading multiple imgaes from folder in a sequence

1 Ansicht (letzte 30 Tage)
Iram Shahzadi
Iram Shahzadi am 14 Nov. 2018
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I am using following code to read multiple images from a source folder, rotate them and save in target folder. However the images are not read in same sequence as they are in source folder. I want the images to be processed one by one in sequence from source folder. Can anyone please help me to identify the issue with this code.
folder = 'E:\Source folder\';
filePattern = fullfile(folder, '*.png');
myFiles = dir(filePattern);
for k = 1 : length(myFiles)
fullFileName = fullfile(myFiles(k).folder, myFiles(k).name);
imageArray = imread(fullFileName);
I1=(imageArray);
figure
imshow(I1);
I2=I1';
figure
imshow(I2);
Res='E:\target folder';
mkdir(Res);
baseFN= sprintf('%d.png',k);
fullFileName = fullfile(Res,baseFN)
imwrite(I2,fullFileName);
end

Antworten (1)

KSSV
KSSV am 14 Nov. 2018
Bearbeitet: KSSV am 14 Nov. 2018
Have a look on this file exchange function: natsort
  1 Kommentar
Iram Shahzadi
Iram Shahzadi am 15 Nov. 2018
folder = 'E:\Source folder\';
filePattern = fullfile(folder, '*.png');
myFiles = dir(filePattern);
myFiles = sort({myFiles.name});
for k = 1 : length(myFiles)
fullFileName = string(fullfile(folder, myFiles(k)));
imageArray = imread(fullFileName);
I1=(imageArray);
imshow(I1);
I2=I1';
imshow(I2);
Res='E:\target folder';
mkdir(Res);
baseFN= sprintf('%d.png',k);
fullFileName = fullfile(Res,baseFN);
imwrite(I2,fullFileName);
Thanks for help @KSSV. slight changes I made to above piece of code. Simply using 'sort' function of matlab can help to read image sequentially.

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by