Save multiple image automatically

2 views (last 30 days)
image_folder = 'F:\kuliah\semester6\TA2\mencoba';
outfolder = 'F:\kuliah\semester6\TA2\mencoba\hasil';
if ~isdir(outfolder); mkdir(outfolder); end
load mri %I presume it has the variable map in it
fileinfo = dir(fullfile(image_folder, '*.jpg'));
filenames = fullfile({fileinfo.folder}, {fileinfo.name});
total_images = numel(filenames);
for n = 1 : total_images
thisfile = filenames{n};
[~, basename, ext] = fileparts(image_folder);
citra = imread(thisfile);
V = squeeze(citra);
fprintf('processing %s\n', basename);
citra3 = montage(reshape(V,size(citra)), map, 'Indices', 3);
outfile = fullfile(outfolder, [basename 'coba' ext]);
saveas(citra3, outfile);
end
A folder containing many images has been read, but only one output is stored. I have been helped by Mr.Walter Roberson, but I still can't solve the problem of how to save multiple images from the output of the matlab process.
  2 Comments

Sign in to comment.

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 24 Feb 2021
You simply have to generate a sequence of unique filenames to save to. Something like this:
outfile = fullfile(outfolder, sprintf('%s-coba-%03d.%s',basename,n,ext]);
saveas(citra3, outfile);
That way you'll generate filenames of the type: basename-coba-001.ext - I replaced the whitespaces in the filename with '-', because I prefer to have dashes instead, you can switch back. The %03d is just to give you zero-padded numbers incrementing with your loop-variable n.
HTH
  9 Comments
Frisda Sianipar
Frisda Sianipar on 24 Feb 2021
Thankyouu for the answer

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!