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

Karl Garsha k.e.garsha at gmail.com
Mon Mar 1 04:50:20 CET 2010


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/image-sig/attachments/20100228/19be53f7/attachment.html>


More information about the Image-SIG mailing list