Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

reading multiple imgaes from folder in a sequence

1 visualizzazione (ultimi 30 giorni)
Iram Shahzadi
Iram Shahzadi il 14 Nov 2018
Chiuso: MATLAB Answer Bot il 20 Ago 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

Risposte (1)

KSSV
KSSV il 14 Nov 2018
Modificato: KSSV il 14 Nov 2018
Have a look on this file exchange function: natsort
  1 Commento
Iram Shahzadi
Iram Shahzadi il 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.

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by