gpt4 book ai didi

Python 和 16 位 Tiff

转载 作者:太空狗 更新时间:2023-10-29 17:27:55 27 4
gpt4 key购买 nike

如何在 Python 中转换和保存 16 位单 channel 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>

但是我在处理 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

最佳答案

对于从 16 位灰度 TIFF 到 PNG 的无损转换,请使用 PythonMagick :

from PythonMagick import Image
Image('pinei_2002300_1525_modis_ch02.tif').write("foo.png")

关于Python 和 16 位 Tiff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7247371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com