Python и Tiff

, Как я могу преобразовать и сохранить одноканальный TIF на 16 битов в Python?

я могу загрузить 16 и 32 растровых изображения без проблемы и видеть, что 32 растровых изображения являются методом F , и 16 растровых изображений являются методом я; 16 :

import Image
i32 = Image.open('32.tif')
i16 = Image.open('16.tif')
i32
# <TiffImagePlugin.TiffImageFile image mode=F size=2000x1600 at 0x1098E5518>
i16
# <TiffImagePlugin.TiffImageFile image mode=I;16S size=2000x1600 at 0x1098B6DD0>

, Но я испытываю затруднения при работе с 16 растровыми изображениями. Если я хочу сохранить любого как PNG, я не могу сделать так непосредственно:

i32.save('foo.png')
# IOError: cannot write mode F as PNG
i16.save('foo.png')
# ValueError: unrecognized mode

, Если я преобразовываю 32 растровых изображения, я могу сохранить их:

i32.convert('L').save('foo.png')

, Но та же команда не будет работать с 16 растровыми изображениями:

i16.convert('L').save('foo.png')
# ValueError: unrecognized mode
13
задан mankoff 30 August 2011 в 17:59
поделиться