Borrar filtros
Borrar filtros

Imwrite() problem with saving sequence images

4 visualizaciones (últimos 30 días)
Tossawon Ngamnet
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.

Respuesta aceptada

Guillaume
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
Tossawon Ngamnet el 29 de Mayo de 2018
Editada: Guillaume el 29 de Mayo de 2018
Sorry for my careless. I did the code follow your suggestion. Its work, but the avi file cannot open. Code below:
outputVideo = VideoWriter('newvideo.avi');
outputVideo.FrameRate = 30;
outputVideo.Quality = 100;
open(outputVideo);
srcFiles = dir('C:\Users\Tossaworn\Desktop\testTIFfiles\*.tif');
for k = 1 : length(srcFiles)
filename = strcat('C:\Users\Tossaworn\Desktop\testTIFfiles\',srcFiles(k).name);
I = imread(filename);
writeVideo(outputVideo, im2double(I));
end
Is that due to unspecified size?
Guillaume
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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Productos


Versión

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by