[Image-SIG] PIL 1.1.6 can't convert 16-bit (I; 16) to 8-bit ('L')--Windows 32-bit

Laura & Edward Cannon cannon.el at gmail.com
Tue Mar 2 17:37:11 CET 2010


How I would convert the image is im.convert("L") I have had success
using this method for a variety of less common formats, and it handles
all the conversion for you.
Edward

On Sun, Feb 28, 2010 at 7:50 PM, Karl Garsha <k.e.garsha at gmail.com> wrote:
> Greetings,
>
> I'm reading in a 16-bit monochrome image using PIL on windows and can't seem
> to work with the resulting image object.
>
> I've confirmed the image data is good..I can open and view it with ImageJ
> and the dimensions are correct.
>
> I'm using PIL 1.1.6 as part of the Enthought Python distribution...I'm
> stumped. I've appended relevant code I'm trying with my interpreter below:
>
> I'm hoping perhaps someone can help...I need to take 16-bit monochrome
> images (*.tiff in this case) and get them into 8-bit space...thanks in
> advance for any insight into what I can do to solve this.
>
> print im.mode,im.size
> I;16 (832, 656)
>
> print im.getextrema()
> None # this doesn't seem right....can PIL 1.1.6 apply this method to 16-bit
> unsigned int image objects?
>
> lut=[]
> len(lut)
> 0
> for i in range (65536):
>     lut.append(int(i/256))
>
> len(lut)
> 65536
>
> im3=im.point(lut,'L')
> Traceback (most recent call last):
>   File "<input>", line 1, in <module>
>   File "C:\Python26\lib\site-packages\PIL\Image.py", line 1109, in point
>     return self._new(self.im.point(lut, mode))
> ValueError: wrong number of lut entries
>
> _______________________________________________
> Image-SIG maillist  -  Image-SIG at python.org
> http://mail.python.org/mailman/listinfo/image-sig
>
>


More information about the Image-SIG mailing list