How to save image?

7 views (last 30 days)
TAY
TAY on 8 Nov 2014
Commented: Image Analyst on 31 Oct 2021
I have a set of image data which is 256x256 matrix. I display the image data using the code below;
load topomatrix;
figure;
imshow(topomatrix,'displayrange',[]);
colormap('jet');
Now, I want to save the image with full display range and colormap, anyone know how to do it, is it using IMWRITE?
imwrite(topomatrix, 'topo.jpg');
Does anyone know how to do it, thank in advance!!!

Accepted Answer

Image Analyst
Image Analyst on 8 Nov 2014
You'll need to scale it and convert it to an 8 bit RGB image.
image8Bit = uint8(255 * mat2gray(topomatrix));
jetMap = jet(256);
imshow(image8bit);
colormap(jetMap);
rgbImageToSave = ind2rgb(image8Bit, jetMap);
imwrite(rgbImageToSave, 'rgbImage.png'); % Save as PNG to avoid jpeg artifacts.
  4 Comments
Jane
Jane on 31 Oct 2021
What do we do if we have a 3d matrix instead?
Image Analyst
Image Analyst on 31 Oct 2021
If it has 3 planes/slices then you can use imwrite(). It will just consider it a color image. If you have more planes/slices, then either save each 2-D image separately or save the 3-D image into a .mat file.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!