Save a sequence of images in a new folder

3 visualizaciones (últimos 30 días)
Karina
Karina el 11 de Jul. de 2014
Editada: Image Analyst el 31 de Dic. de 2017
I have this code:
miFolder='C:\Users\karina\Documents\MATLAB\11';
if ~isdir(miFolder)
errorMensaje = sprintf('Error: El folder no existe:\n%s', miFolder);
uiwait(warndlg(errorMensaje));
return;
end
filePatron = fullfile(miFolder, '*.jpg');
jpegFil = dir(filePatron);
Resultados='C:\Users\karina\Documents\MATLAB\11\SerieN';
mkdir(Resultados);
for k = 1:10
baseFN = jpegFil(k).name;
fullFN = fullfile(miFolder, baseFN);
I=imread(fullFN);
I2=imcrop(I,[167.5 0.5 660 524]);
imwrite(I2,[Resultados,num2str(k),'.png']);
end
Then what I want is to save the images in the C:\Users\karina\Documents\MATLAB\11\SerieN location but the images of the SerieN are saved in the C:\Users\karina\Documents\MATLAB\11. All the images are saved as SerieN1.png, SerieN2.png and so on, that's ok but I need to those images will be saved in the correct folder. Thank you for your time. Regards.

Respuesta aceptada

Image Analyst
Image Analyst el 11 de Jul. de 2014
Editada: Image Analyst el 31 de Dic. de 2017
If you're not going to use fullfile(), and use concatenation like you did, you need to add a trailing space to your folder. It's best to use fullfile() which takes care of all that for you.
baseFileName = sprintf('%d.png', k); % e.g. "1.png"
fullFileName = fullfile(Resultados, baseFileName); % No need to worry about slashes now!
imwrite(I2, fullFileName);
  3 comentarios
Image Analyst
Image Analyst el 16 de Jul. de 2014
I've just compiled m-files into standalone executables, not DLLs, so I don't think I'm of much help there. Call the Mathworks and ask them. The compiler is very expensive so you might as well get something for your support payment.
Githae Wanyawira
Githae Wanyawira el 31 de Dic. de 2017
Thanks Analyst for the great assistance

Iniciar sesión para comentar.

Más respuestas (2)

Ali Noori
Ali Noori el 12 de Jun. de 2015
Editada: Walter Roberson el 12 de Jun. de 2015
For example, if you have video (video.avi) in matlab directory and you want to convert this video into frame sequences and save them in new folder (IMAGESEQUENCES). write this code below:
%%code %%
video = VideoReader('video.avi');
OutVideoDir = 'IMAGESEQUENCES';
mkdir(OutVideoDir);
for i = 1:video.NumberOfFrames
img = read(video,i);
baseFileName = sprintf('%d.png', i); % e.g. "1.png"
fullFileName = fullfile(OutVideoDir, baseFileName);
imwrite(img, fullFileName);
end

David Young
David Young el 11 de Jul. de 2014
Instead of
imwrite(I2,[Resultados,num2str(k),'.png']);
try
imswrite(I2, fullfile(Resultados, ['SerieN', num2str(k), '.png']));

Categorías

Más información sobre Image Processing Toolbox 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!

Translated by