[Image-SIG] Examining the Palette and Image Properties

Lucas rollbak at gmail.com
Mon Apr 6 05:33:02 CEST 2009


I think what you have to do instead of img.info is to call img.mode,
this will give you the type of image (RGB, ARGB, P (indexed), etc).

In a 'P' mode image you can make the following:
     myimg = im.palette
     data = myimg.getdata()

data is a tuple with the following structure:
(mode, str)
mode: is the color mode, eg: RGB, ARGB...
list: is a string that contains the values of the palette colors, once
following each other, and you have to parse it by your own depending
on the mode.

print data
('RGB', "\x80\x00\x00\x00\x00\x00\x00\x80\x00.....")

The you can decode this with the following code:
decoded = [ord(component)  for component in data[1]]
print decoded
[128, 0, 0, 0, 0, 0, 0, 128, 0,...]

because of the mode is RGB the colors of our palette are:
R      G     B
128, 0,     0
0,     0,     0
0,     128, 0

I hope i was clear enough.


On Sat, Apr 4, 2009 at 9:43 AM, Wayne Watson
<sierra_mtnview at sbcglobal.net> wrote:
> Suppose img is a PIL image. img.palette is then an instance, say, myimg. How
> do I display what is in it? mimg.hello_in_there()?
> Is the depth contained in the palette? PIL-handbook-2.pdf (1.1.3) has no
> PaletteImage description, which is where I would expect to find out about
> palette methods. Where other than looking in the PIL would I find a
> description? Maybe this is basic Python OOP as a means to find out? Doc?
> When I use img.info on various images I see in a program I'm using, I see
> this:
>         #  wagon.gif:        {'compression': 'raw', 'dpi': (1, 1)}
>         #  sentintel image:  {}
>         #  moon_surface.tif: {'compression': 'raw', 'dpi': (1, 1)}
>         #  v....bmp        : {'compression': 0}
> sentinel image is an image created by the hardware that interfaces with the
> software, and is 640x480 by 8-bits. v....bmp is one of the output files from
> the h/w that I've saved as bmp.  Is there a description somewhere of what
> the dictionary output contains? I guess it's sort of obvious, but do other
> formats have more?
> --
>            Wayne Watson (Watson Adventures, Prop., Nevada City, CA)
>              (121.01 Deg. W, 39.26 Deg. N) GMT-8 hr std. time)
>           The Obama Administration plans to double the production
>           in solar energy from 1% to 2% of the total energy
>           supply in the next few years. One nuclear reaction
>           would do the same. Heard on Bill Wattenburg, KGO-AM
>           "Less than all cannot satisfy Man." -- William Blake
> _______________________________________________
> Image-SIG maillist  -  Image-SIG at python.org
> http://mail.python.org/mailman/listinfo/image-sig

Lucas Shrewsbury
Open Your Mind, Use Open Source

More information about the Image-SIG mailing list