matlab读取文件夹下所有文件顺序的问题

使用下面代码读取文件夹下所有文件,比如文件夹下有2.jpg,12.jpg,112.jpg,三个图片
img_dir = dir('./data/*.jpg');
它读取的顺序是112.jpg,12.jpg,2.jpg
而我希望是2.jpg,12.jpg,112.jpg这样的顺序,该怎么弄?
即按照2<12<112的顺序

用uigetfile函数就好,弹出个窗口,你全选读入就行了,而且这个顺序和你电脑上存储的顺序一样,不关你事按照修改时间、名称、大小还什么什么排列的,都可以读。
[filename, pathname] = uigetfile('*.jpg', '请选择需要的图','MultiSelect','on');
RFfilepath=pathname;
addpath(genpath(RFfilepath));
ImageNum=size(filename,2);
for i=1:ImageNum
ImageName=char(filename(i));
I=imread(ImageName);
%你的操作
end
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-23
MATLAB是按照ASCII码的大小进行排序的,所以你可以按照你所期望的顺序对图片进行改名,比如把2改成12,112改成2,12改成112追问

图片太多

追答

可以用 批量改名软件

本回答被网友采纳
第2个回答  2014-12-22
应该没办法,一种按顺序,一种按时间排序追问

我希望的是按照2<12<112的顺序,不是说是时间顺序