How to save a sequence of images into a specific folder

189 visualizaciones (últimos 30 días)
Hi,
I made this code for capture multiple images for every second and I wanted to automatically save all my images into a specific folders without directly going to the folder from the directory. 'ImageFolder' show the folder-Image Saving Test that I want to save the images in. However, it does not work and put images in whatever folder is shown in the 'Current Folder' in the directory. I try using save and saveas command but it gave me the same problem. Can someone help me resolve this, please?
ImageFolder ='C:\Users\person\Desktop\ Project\Matlab\Image Saving Test';
for i=1:5 % this loop will take 5 pictures and save them in the Matlab folder
img = snapshot(cam);
file_name = sprintf('Image%d.png', i)% name Image with a sequence of number, ex Image1.png , Image2.png....
fullFileName = fullfile(ImageFolder, file_name);
imwrite(img,file_name,'png') %save the image as a Portable Graphics Format file(png)into the MatLab
pause(1); % pause for one second
imshow(img) % display the image for every second
end
  1 comentario
Francesco Sgromo
Francesco Sgromo el 13 de Feb. de 2023
Hi,
for sure the imwrite command does not use the fullFileName variable you created or the ImageFolder neither.
In any case, you should make sure the folder exists. In case not you can create it using mkdir command.

Iniciar sesión para comentar.

Respuesta aceptada

Tharima Ferdausi
Tharima Ferdausi el 3 de Mzo. de 2021
Editada: Stephen23 el 14 de Feb. de 2023
Thank you!!!! I just rearrange my code and replace my fullFileName and imwrite is it can save all the images into a specific folder without doing it twice in the current Folder.
for k=1:5 % this loop will take 5 pictures and save them in the Matlab folder
img = snapshot(cam);
file_name = sprintf('Image%d.png',k)% name Image with a sequence of number, ex Image1.png , Image2.png....
%save the image as a Portable Graphics Format file(png)into the MatLab
imgName = fullfile(ImageFolder,file_name) ;
imwrite(img,imgName);
imshow(img) % display the image for every second
pause(1); % pause for one second
end

Más respuestas (1)

KSSV
KSSV el 3 de Mzo. de 2021
Movida: Stephen23 el 14 de Feb. de 2023
ImageFolder ='C:\Users\person\Desktop\ Project\Matlab\Image Saving Test';
for i=1:5 % this loop will take 5 pictures and save them in the Matlab folder
img = snapshot(cam);
file_name = sprintf('Image%d.png', i)% name Image with a sequence of number, ex Image1.png , Image2.png....
fullFileName = fullfile(ImageFolder, file_name);
imwrite(img,file_name,'png') %save the image as a Portable Graphics Format file(png)into the MatLab
pause(1); % pause for one second
imshow(img) % display the image for every second
imgName = [ImageFolder,'\Image_',num2str(i),'.png'] ;
imwrite(img,imgName) ;
end

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by