how do i sort images into a list in ascening order
2 views (last 30 days)
Show older comments
Hello!
I have these images in the file.
1.bmp , 2.bmp , ..... , 1000.bmp
i use this command: list = dir('*.bmp');
and the results are
list(1)= '1.bmp' , list(2)='10.bmp' , list(3)='11.bmp', list(4)='12.bmp', list(5)='13.bmp',... .....,list(995)='2.bmp',...
What can i do to put them into the list in ascending order??
list(1)='1.bmp' , list(2)='2.bmp' .....
Thank you very much.
3 Comments
Stephen23
on 18 Jul 2017
Edited: Stephen23
on 18 Apr 2021
@Nav Desh: go to my FEX submission natsortfiles. Click on the big blue button labeled Download (top right-hand corner). Unzip the zip file into your current directory. Enjoy!
>> S = dir('*.txt');
>> S.name
ans =
'1.txt'
ans =
'10.txt'
ans =
'2.txt'
>> S = natsortfiles(S); % alphanumeric sort by filename
>> S.name
ans =
'1.txt'
ans =
'2.txt'
ans =
'10.txt'
Accepted Answer
More Answers (1)
Jorge Lopez
on 3 Dec 2015
clear all
clc
Directorio = 'Ruta de guardado de frames';
Frames = dir(fullfile(Directorio, '*.extension'));
Nombres={Frames.name};
[~,name]=sort_nat(Nombres);
%sort_nat es una funcion que se debe descargar y guardar en el mismo directorio donde se ejecuta el programa esta funcion ordena alfanumericamente las palabras incluyendo caracteres especiales.
new_folder=Frames(name);
NumFrames = numel(Frames);
VideoRecuperado = VideoWriter('StegoVideo.mp4','MPEG-4');
VideoRecuperado.FrameRate = FramesRate deseado;
VideoRecuperado.Quality = 80;
open(VideoRecuperado);
for n = 1:NumFrames
full_name= fullfile(Directorio, new_folder(n).name);
I=imread(full_name);
writeVideo(VideoRecuperado, I);
end
close(VideoRecuperado);
0 Comments
See Also
Categories
Find more on Shifting and Sorting Matrices 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!