save image from imshow using imwrite

14 vues (au cours des 30 derniers jours)
Sebastian
Sebastian le 5 Mai 2012
Commenté : Abu Kalam le 26 Oct 2018
Hi all,
I'm using imshow(a,[]) to edit the intensity of a grayscale picture and plot it. I would like to save this brighter figure using imwrite(). I want this picture to be the same size as the original. I can't get this to work. I can't get imwrite to save the new figure.
I've tried to solve this problem using functions that do more or less the same thing, like mat2gray() and getframe(), but I just want to know how I can save the figure created by imshow() with imwrite() . This is the code:
h = imshow(inputimage,[]);
test = getimage(h);
imwrite(test,'imageoutput.tif');
I really hope someone can help me out.
  1 commentaire
Abu Kalam
Abu Kalam le 26 Oct 2018
Thank you. Your code works for me as i want. :D

Connectez-vous pour commenter.

Réponses (2)

Image Analyst
Image Analyst le 5 Mai 2012
imshow() does not allow you to edit the image. You can save the image by using imwrite(inputimage, filename); If you have other, missing code, such as adding annotation or applying a colormap or whatever, then use export_fig() as mentioned in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_save_my_figure.2C_axes.2C_or_image.3F_I.27m_having_trouble_with_the_built_in_MATLAB_functions.

Walter Roberson
Walter Roberson le 5 Mai 2012
The File Exchange contribution http://www.mathworks.com/matlabcentral/fileexchange/7943 will convert the indexed image to truecolor that you can then imwrite()

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by