Saving a resized image while keeping the resized values

3 vues (au cours des 30 derniers jours)
Alberto Acri
Alberto Acri le 2 Jan 2023
Modifié(e) : Matt J le 2 Jan 2023
Hi! I want to save a resized image in .png format. The .png image I start from has size 656x875 pixels.
I used this code to resize the image so that it is 500x500 pixels and the code works.
imageArray = imread('figure_001.png');
figure();
axis equal
imshow(imageArray);
image8bit = rgb2gray(imageArray);
imagelogical = logical(image8bit);
figure();
axis equal
imshow(imagelogical);
resize_image = imresize(imagelogical, [500 500]);
name_figure = figure;
axis equal
imshow(resize_image);
The problem occurs when I save the resized image. I am using this code:
output = sprintf('figure.png');
fulldestination = fullfile(pwd, output);
saveas(name_figure, fulldestination)
however when I view the properties of the figure I get a size of 766x855 pixels. How come?

Réponse acceptée

Matt J
Matt J le 2 Jan 2023
Modifié(e) : Matt J le 2 Jan 2023
Because with saveas, you are saving a screenshot of the figure window, not an image composed from the pixel values of resize_image itself. Use imwrite instead,
imwrite(resize_image,fulldestination)

Plus de réponses (0)

Catégories

En savoir plus sur Images 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