相关疑难解决方法(0)

Python和16位Tiff

如何在Python中转换和保存16位单通道TIF?

我可以毫无问题地加载16位和32位图像,并看到32位图像是模式F,16位图像是模式I;16S:

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>
Run Code Online (Sandbox Code Playgroud)

但我在使用16位图像时遇到问题.如果我想保存为PNG,我不能直接这样做:

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

如果我转换32位图像,我可以保存它:

i32.convert('L').save('foo.png')
Run Code Online (Sandbox Code Playgroud)

但是相同的命令不适用于16位图像:

i16.convert('L').save('foo.png')
# ValueError: unrecognized mode
Run Code Online (Sandbox Code Playgroud)

python tiff 16-bit

13
推荐指数
3
解决办法
2万
查看次数

标签 统计

16-bit ×1

python ×1

tiff ×1