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
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!