我有100张图片要分析,我希望每张图片的结果都会保存到一个文件中。所以,我有100张图片,我想要100张txt文件。现在,它只能保存最后的结果。 这是我的代码。
fid=fopen('Mycode.txt','w');
for k = 1:nColors
numTotalImage = (size(a,1) * size(a, 2))*3; %151287
numnonzero = nnz(segmented_images{k});
Percentage = (numnonzero /numTotalImage)*100;
A = cluster_center(k,1);
B = cluster_center(k,2);
m =[k; A ;B ;Percentage];
fprintf(fid , '%.1f, %f, %f, %.1f \r\n' , m);
end
fclose(fid);
我已经改变了模式' w'进入' a'所以它会附加结果,但它仍然在同一个文件中。如何为每个输入添加不同的txt文件?
答案 0 :(得分:2)
您需要在每次迭代时打开一个新文件
丢弃前导fid=fopen('Mycode.txt','w');
并尾随fclose(fid);
并将您的代码更改为:
for k=1:nColors
fid = fpoen(sprintf('Mycode_color%d.txt',k),'w'); %// different file according to k
% do your stuff here...
fprintf(fid , '%.1f, %f, %f, %.1f \r\n' , m); %// write to file
fclose(fid); %// close the file at each iteration
end