Save multiple image automatically
조회 수: 1(최근 30일)
표시 이전 댓글
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.
채택된 답변
Bjorn Gustavsson
2021년 2월 24일
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
추가 답변(0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!