imread png vs gif
3 views (last 30 days)
Show older comments
It looks imread .gif and .png are different. Please help to read the image right.
[X,map] = imread('matlabicon.gif');
icon = ind2rgb(X,map);
% X is 16x16, map is 127x3
image(icon);
image(icon) looks good!
However:
[X,map] = imread('open_file.png');
% X is 16x16x3, map=[]
icon = ind2rgb(X,map);
% doesn't work as map=[] and X is already 3 dimensions
image(X) doesn't look the same image at all! White pixels became black.
====
Added on after a while:
OK, I did this, and it looks about right. CData in uipushtool shows correctly:
X(X==0)=max(X(:));
icon = double(X)/double(max(X(:)));
But it doesn't look elegant and generally right.
What's the right way of reading all image format for image(X) and CData in uipushtool?
0 Comments
Answers (1)
Image Analyst
on 19 Feb 2015
Please attach your open_file.png file so we can help you. If X is already an RGB image (16x16x3) then a colormap does not even apply, and you certainly shouldn't use ind2rgb() on an image that is ALREADY RGB.
2 Comments
Image Analyst
on 21 Feb 2015
open_file.png is not in R2013b. It must have been something you added. It doesn't ship with MATLAB because I don't have it and I have that version and also the latest R2014b and it's not in that either. Please attach your open_file.png file so we can help you.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!