Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

reading multiple imgaes from folder in a sequence

1 visualización (últimos 30 días)
Iram Shahzadi
Iram Shahzadi el 14 de Nov. de 2018
Cerrada: MATLAB Answer Bot el 20 de Ag. de 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

Respuestas (1)

KSSV
KSSV el 14 de Nov. de 2018
Editada: KSSV el 14 de Nov. de 2018
Have a look on this file exchange function: natsort
  1 comentario
Iram Shahzadi
Iram Shahzadi el 15 de Nov. de 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.

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by