Save multiple image automatically

4 views (last 30 days)
Frisda Sianipar
Frisda Sianipar on 28 Feb 2021
Edited: Jan on 2 Mar 2021
Hi, I'm a final year student at a university in Indonesia. Actually I tried reading the image in matlab and then applying certain operations like increasing contrast, removing background etc. Then I want to save the new image after the operation in a certain folder, but I face a problem in saving the image in matlab, the image is saved after only one operation while the image that has been read is more than one, then I want the saved image extension to be .jpg. please help me whoever knows the solution.
This is the coode:
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
files = dir(fullfile(image_folder, '*.jpg'));
% filenames = fullfile({fileinfo.folder}, {});
% total_images = numel(filenames);
for iFiles = 1:numel(files)
thisfilename = fullfile(files(iFiles).folder,files(iFiles).name);
% for n = 1 : total_images
% thisfile = filenames{n};
[~, basename, ext] = fileparts(image_folder);
citra = imread(thisfilename);
V = squeeze(citra);
fprintf('processing %s\n', basename);
fig = figure;
citra3 = montage(reshape(V,size(citra)), map, 'Indices', 3);
outfile = fullfile(outfolder, sprintf(['%s-coba-%03d.%s',basename,'.jpg']));
saveas(citra3, outfile);

Sign in to comment.

Accepted Answer

Jan on 1 Mar 2021
Edited: Jan on 2 Mar 2021
Your code must fail with an error message in this line:
outfile = fullfile(outfolder, sprintf(['%s-coba-%03d.%s',basename,'.jpg']));
The SPRINTF command has 3 format specifiers, but no corresponding values. Maybe you mean:
outfile = fullfile(outfolder, sprintf('%s-coba-%03d.jpg', basename, iFiles));
% [EDITED] Typo fixed: iFile -> iFiles

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!