Save multiple image automatically

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}, {fileinfo.name});
% 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);
end

5 Commenti

outfile = fullfile(outfolder, sprintf(['%s-coba-%03d.%s',basename,'.jpg']));
your constant format ends in .%s and the content of the string is .jpg so you are going to end up with ..jpg
but the saved image extention is .fig sir
and images stored is only one sir while more than one processed image
you need to look inside the folder named hasil to find the images.
no result sir

Accedi per commentare.

 Risposta accettata

Jan
Jan il 1 Mar 2021
Modificato: Jan il 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

3 Commenti

Error sir
They said "Undefined function or variable 'iFile'."
outfile = fullfile(outfolder, sprintf('%s-coba-%03d.jpg', basename, iFiles));
Thankyou sir, its work

Accedi per commentare.

Più risposte (0)

Richiesto:

il 28 Feb 2021

Modificato:

Jan
il 2 Mar 2021

Community Treasure Hunt

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

Start Hunting!

Translated by