2

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,...

どうすればこれを解決できますか?ありがとう。

4

1 に答える 1

5

ファイルリストは正しいアルファベット順です!

保存時にパディングの使用を検討してください。

すなわち。10.jpg を 0010.jpg として保存

ファイル名を変更できない場合は、独自の順序付け関数を作成する必要があります。

于 2013-06-20T08:11:45.503 に答える