【问题标题】:Save 32-bit floating point TIFF image保存 32 位浮点 TIFF 图像
【发布时间】:2019-09-14 05:08:26
【问题描述】:

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

import numpy as np
import tifffile

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

但是,在 Eye of Gnome 中查看上述代码的输出时,图像完全是空白的。

【问题讨论】:

  • 我不知道,但我的第一个想法是它可能将 alpha 通道设置为 0,因为您只提供 3 个维度。最快的测试:改用np.random.rand(500, 500, 4)
  • @kwinkunks 我试了一下,但结果相同。
  • 你是如何与不同的观众相处的?

标签: python image numpy tiff


【解决方案1】:

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

根据我的阅读,Photoshop 也可以读取 32 位 TIFF。所以我认为 TIFF 文件包含您的图像,但它是否适合您取决于您​​接下来要如何处理它。

这个问题也可能是相关的,虽然它是关于使用 16 位 整数 而不是浮点数:Python: Read and write TIFF 16 bit , three channel , colour images

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多