Saving a resized image while keeping the resized values

19 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Matt J
Matt J il 2 Gen 2023
Modificato: Matt J il 2 Gen 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)

Più risposte (0)

Categorie

Scopri di più su Images in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by