我正在从文件夹中读取 jpg
文件。我的代码如下:
inputImg= dir('C:\Documents and Settings\Administrator\Desktop\TestImages\*.jpg');
inputDir = 'C:\Documents and Settings\Administrator\Desktop\TestImages\';
inputN = {inputImg.name};
for i = 1:numel(dstNFiles)
dstFileName = dstImageFiles(i).name;
dstName = strcat(dstDir,dstFileName);
image = imread(dstName);
%% do some work here
end
我的文件夹中的所有这些jpg
图像都以“01.jpg,02.jpg,...200.jpg”
的方式有序命名。但我发现它没有按顺序读取这些文件。我尝试打印 dstFileName,它给出了完全随机排序的文件名,例如:
01.jpg, 02.jpg, 03.jpg, 04.jpg,05.jpg,06.jpg,07.jpg,08.jpg,09.jpg,10.jpg,100.jpg,101.jpg,11.jpg, ... 199.jpg,200.jpg, 24.jpg,25.jpg,...
我该如何解决这个问题?谢谢。
最佳答案
文件列表按正确的字母顺序排列!
保存时考虑使用填充。
即。将 10.jpg 保存为 0010.jpg
如果您无法更改文件名,则必须编写自己的排序函数。
关于image - Matlab:从文件夹中读取图像不会按顺序返回文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17208432/