2016-04-28 124 views
0

我有100張圖片需要分析,我希望圖片的每個結果都會保存到一個文件中。因此,我有100張圖片,我希望有100張txt文件。現在,它只能保存最後的結果。 這是我的代碼。如何將輸出保存到多個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文件?

回答

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 
相關問題