Saving images inside a loop with changing filename
Show older comments
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
Accepted Answer
More Answers (1)
Walter Roberson
on 14 Jan 2023
Edited: Walter Roberson
on 14 Jan 2023
imwrite(I,'[ fo{1,1} '_' 'Roi' '_' num2str(index)].tiff')
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 Comment
Levente Gellért
on 14 Jan 2023
Categories
Find more on Image Filtering in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!