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 个评论

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.

请先登录,再进行评论。

 采纳的回答

Jan
Jan 2021-3-1
编辑:Jan 2021-3-2
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 个评论

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

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by