, Как я могу преобразовать и сохранить одноканальный 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