Imwrite() problem with saving sequence images
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tossawon Ngamnet
el 25 de Mayo de 2018
Comentada: Guillaume
el 29 de Mayo de 2018
First, i try to load .mat file into my workspace files = dir('*.mat'); for i = 1:numel(files) load(files(i).name);
Second, i want to read the images in work space and save it as following for k=0:10 output_folder = 'C:\Users\Tossaworn\Desktop'; outputFileName = fullfile(output_folder, ['test' num2str(k) '.tif']);
imwrite(IR0000__,outputFileName); end
IR0000__ is 1 image, but i want IR0001__,IR0002__, ...and output test0,1,2,... . Now output can run, but i have no idea to read the input images. please suggest, Thank you.
0 comentarios
Respuesta aceptada
Guillaume
el 25 de Mayo de 2018
Here is how I would do it:
output_folder = 'C:\Users\Tossaworn\Desktop';
files = dir('*.mat');
for fidx = 1:numel(files)
matcontent = load(files(fidx).name); %load into structure
filenumber = regexp(files(fidx).name, '\d+', 'match', 'once'); %get numeric part of filename
imagename = sprintf('IR%s__', filenumber); %build variable name
assert(isfield(matcontent, imagename), 'mat file %s does not contain image %s', files(fidx).name, imagename);
outputfilename = fullfile(output_folder, sprintf('test%s.tif', filenumber));
imwrite(matcontent.(imagename), outputfilename);
end
5 comentarios
Tossawon Ngamnet
el 29 de Mayo de 2018
Editada: Guillaume
el 29 de Mayo de 2018
Guillaume
el 29 de Mayo de 2018
You're missing a
close(outputVideo);
at the end. If that's not the reason for the problem, then I don't know. Try a different video player which may give more insight.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!