Save a sequence of images in a new folder

3 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Image Analyst
Image Analyst il 11 Lug 2014
Modificato: Image Analyst il 31 Dic 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 Commenti
Image Analyst
Image Analyst il 16 Lug 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 il 31 Dic 2017
Thanks Analyst for the great assistance

Accedi per commentare.

Più risposte (2)

Ali Noori
Ali Noori il 12 Giu 2015
Modificato: Walter Roberson il 12 Giu 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 il 11 Lug 2014
Instead of
imwrite(I2,[Resultados,num2str(k),'.png']);
try
imswrite(I2, fullfile(Resultados, ['SerieN', num2str(k), '.png']));

Categorie

Scopri di più su Image Processing Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by