save image from imshow using imwrite

13 次查看(过去 30 天)
Sebastian
Sebastian 2012-5-5
评论: Abu Kalam 2018-10-26
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.

回答(2 个)

Image Analyst
Image Analyst 2012-5-5
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 2012-5-5
The File Exchange contribution http://www.mathworks.com/matlabcentral/fileexchange/7943 will convert the indexed image to truecolor that you can then imwrite()

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by