imread循环:图片名怎么写?

Imread in a loop: How to write the image name?

我实现了一个循环,从文件夹中读取图像并对每个图像进行一些计算。然后我将结果写入一个 txt 文件。 我开始认为它没有以正确的顺序读取图像(名称相互跟随:XYZ_1.bmp、XYZ_2.bmp 3-4-5-6...),因为当我只对一张图片进行计算,得到另一张图片的结果。

因此,我想在我的结果 txt 文件中写下图像的名称,以检查它是否是正确的图像。

我没有成功。 我猜我编写的代码在读取图像时没有保存图像名称,不是吗?你有秘诀吗? 代码是否有可能没有以正确的顺序读取图像 (1-2-3-4...)?

这是我的代码:

rep=sprintf('foldername');
ext='*.bmp';
chemin = fullfile(rep,ext);
list1 = dir(chemin);
n=numel(list1);

A=zeros(4,n); % result tab

for k=1:n 
I= imread(fullfile(rep,list1(k).name),ext(3:end));
%SOME CALCULATIONS


%Filling up result tab
    A(1,k)=ME;
    A(2,k)=NU;
    A(3,k)=PO;
    A(4,k)=N;
end

fid = fopen('Parameters_Seg_Im5_9.txt','w');
fprintf(fid,'%5s %5s %4s %6s\r\n','ME', 'NU', 'P', 'N');
fprintf(fid,'%5.4f %5.4f %4.3f %7d\r\n',A);
fclose(fid);

我写文件名的方式不对:1-2-3-4-5-6-7-8-9-10-11...

我想规则是写文件名 最大位数 : 001-002-003-004...-...-100...- ...-999。

问题已解决:写作技巧!