Saving images inside a loop with changing filename

2 vues (au cours des 30 derniers jours)
Levente Gellért
Levente Gellért le 13 Jan 2023
Dear Community, in a similar situation I would like to save images inside a loop. I do not know why there is an invalid character error in the filename. The filename should look like: actual foldername, Roi and a number.
Please share your suggestions:
Best:
lg
I=rand(20,20);
[~,fo{1,1},~]=fileparts(pwd);
for i=1:10
index=i
imwrite(I,'[ fo{1,1} '_' 'Roi' '_' num2str(index)].tiff')
end

Réponse acceptée

Matt J
Matt J le 14 Jan 2023
Modifié(e) : Matt J le 14 Jan 2023
I=rand(20,20);
[~,fo{1,1},~]=fileparts(pwd);
for i=1:10
index=i
imwrite(I, fo{1,1} + "_Roi_" + index + ".tiff" )
end

Plus de réponses (1)

Walter Roberson
Walter Roberson le 14 Jan 2023
Modifié(e) : Walter Roberson le 14 Jan 2023
imwrite(I,'[ fo{1,1} '_' 'Roi' '_' num2str(index)].tiff')
Invalid text character. Check for unsupported symbol, invisible character, or pasting of non-ASCII characters.
You start a character vector. The first character of the vector is the '[' character. The second character is space. The third character is 'f' then 'o' then '{' then '1', ',', '1', '}' then space. You then end the character vector. After that you have an underscore immediately after the end of the character vector . But the underscore is not part of a variable name and is not a valid variable name by itself, and underscore is not a valid operator name. The underscore is invalid there.
I suggest you use
filename = fo{1,1} + "_Roi_" + index + ".tiff"
imwrite(I, filename)
  1 commentaire
Levente Gellért
Levente Gellért le 14 Jan 2023
Dear Walter Robertson, thanks for the detailed explanation! Best lg

Connectez-vous pour commenter.

Catégories

En savoir plus sur Images dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by