保存32位浮点数TIFF图像。

3

我正在尝试使用tifffile.py将存储为NumPy数组的32位浮点图像保存为TIFF文件。

import numpy as np
import tifffile

image = np.random.rand(500, 500, 3).astype(np.float32)
tifffile.imsave('image.tiff', image)

然而,当在Gnome视窗中查看上述代码的输出时,图像完全是空白的。 截图

我不确定,但我的第一反应是可能将 alpha 通道设置为 0,因为您只提供了 3 个维度。最快的测试方法:尝试使用 np.random.rand(500, 500, 4) - Matt Hall
@kwinkunks 我试过了,但结果一样。 - Omegastick
你用另一个查看器怎么样了? - Matt Hall
1个回答

4
我认为问题在于,并非所有工具都支持每个通道有32位的多通道TIFF。例如,据我所知,Python的PIL不支持。但是我认为tifffile.py支持,因为如果我使用您的代码,我会得到一个在GIMP中打开并且看起来合理的TIFF。

GIMP with the image

根据我所读的,Photoshop也可以读取32位的TIFF文件。因此,我认为TIFF文件包含了您的图像,但它是否适合您的下一步操作取决于您想要做什么。
这个问题也可能与您相关,尽管它是关于使用16位整数而不是浮点数的:Python: 读取和写入TIFF 16位,三通道,彩色图像

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接