Save figures created on Matlab within a folder

60 Ansichten (letzte 30 Tage)
Alberto Acri
Alberto Acri am 27 Okt. 2022
Beantwortet: Adam Danz am 28 Okt. 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 Kommentare
KALYAN ACHARJYA
KALYAN ACHARJYA am 27 Okt. 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 am 28 Okt. 2022
Bearbeitet: Alberto Acri am 28 Okt. 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);

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Adam Danz
Adam Danz am 28 Okt. 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.

Kategorien

Mehr zu Printing and Saving finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by