Why do I get an image in grey scale after imread the gif image?
Show older comments
My original image is with colour. I read the image file and display it, then I got a grey scale image. Does anyone know how I can load the image without change the colour scale? My code is like this: clear; close all;
I = imread('abc.gif')
figure, imshow(I);
Answers (1)
Image Analyst
on 10 Jul 2014
Don't name it I - that's a bad name - hard to tell the difference between I (upper case i), and l (lower case L), and 1. Plus it's not very descriptive.
Try this
[indexedImage, colorMap] = imread('abc.gif');
imshow(indexedImage);
colormap(colorMap);
colorbar;
8 Comments
Anqi Li
on 10 Jul 2014
Edited: Image Analyst
on 10 Jul 2014
Image Analyst
on 10 Jul 2014
The color should not change. Attach your images. Show your code where you read it in and display it and then call imwrite() and then read in the saved image and display it where it demonstrates that the colors changed.
Anqi Li
on 11 Jul 2014
Image Analyst
on 11 Jul 2014
You forgot to apply the colormap to the image you read back in. So you're seeing the indexes as a grayscale image, which is pretty much nonsense/gibberish.
Anqi Li
on 11 Jul 2014
Image Analyst
on 11 Jul 2014
You have it displayed 3 times. Each figure is using a different colormap.
Image Analyst
on 11 Jul 2014
Do you still not understand and need more explanation?
Categories
Find more on Images in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!