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
Categories
Find more on Blue 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!