Save figures created on Matlab within a folder

63 vues (au cours des 30 derniers jours)
Alberto Acri
Alberto Acri le 27 Oct 2022
I have a series of images generated by a code, for example this one:
A = imread('Example.jpg');
B = imread('Example1.jpg');
C = imread('Example2.jpg');
figure();
image(A);
figure();
image(B);
figure();
image(C);
I want to save these images inside a new folder while keeping the size and name.
I am using mkdir to create a new folder "NewFolder" within a specific folder:
parentdir = 'C:\Users\Alberto\Downloads';
ROOT_FOLDER = 'NewFolder';
newfolder = fullfile(parentdir, sprintf('%s%d', ROOT_FOLDER));
creation_new_folder = mkdir(newfolder);
I do not understand at this point how to save the images created inside this "NewFolder". I thought of something like this but, of course, it doesn't work:
saveas(figure(),'C:\Users\Alberto\Downloads\NewFolder');
  2 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 27 Oct 2022
There are a lot of answers in the forum related to the similar question, I have answered the similar question many times too.
Alberto Acri
Alberto Acri le 28 Oct 2022
Modifié(e) : Alberto Acri le 28 Oct 2022
@KALYAN ACHARJYA could you please point me to which question would be helpful to my case? I have seen many questions, but none apply to my case. I thank you.
I am currently using the following code:
close all
clear all
clc
% figures already created in a previous code (there are more than 3, usually a variable number)
fig_A = imread('Example.jpg');
fig_B = imread('Example1.jpg');
fig_C = imread('Example2.jpg');
figure();
h(1) = image(fig_A);
figure();
h(2) = image(fig_B);
figure();
h(3) = image(fig_C);
destdirectory = 'C:\Users\Alberto\Downloads\NewFolder';
mkdir(destdirectory); % create the directory
I would like to save the generated images (fig_A, fig_B, fig_C), which actually in the code I am using are not numbered, inside the created folder "NewFolder".
I tried using these lines of code:
thisimage = 'NAME.jpg'; % name I want to give the figures (possibly like "fig_1", "fig_2", "fig_3", etc.)
fulldestination = fullfile(destdirectory, thisimage);
generated_figures = fig_B; % I would like to insert in this line the figures (in the example there are 3 figures) that I generated above
imwrite(generated_figures, fulldestination);

Connectez-vous pour commenter.

Réponses (1)

Adam Danz
Adam Danz le 28 Oct 2022
  1. creation_new_folder = mkdir(newfolder); --- "newfolder" is the path to your new folder. "creation_new_folder" is the status of the folder-creation (=1 means successful)
  2. When saving a specific figure, specify the figure handle as well as the path in the saveas()
fig = figure()
status = mkdir(newfolderPath);
saveas(fig, newfolderPath)
This is all explained in mkdir, saveas.

Catégories

En savoir plus sur Printing and Saving dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by