python - 使用python获取tif图像中的层数

标签 python python-imaging-library

我有the tif image有 5 层(不是颜色 channel 而是层)。 如何使用 python 获取此 tif 文件中的层数?

我试过 PIL.Image im.n_frames 和 cv2.imreadmulti 它们都显示图像只有一层。

最佳答案

此类 TIFF 文件中的图层隐藏在 Adob​​e Photoshop 特定的 ImageResources (#34377) 和 ImageSourceData (#37724) TIFF 标签中。

使用 psdtags解析这些标签的库,例如:

from psdtags import TiffImageSourceData

isd = TiffImageSourceData.fromtiff('5_layers.tif')
number_layers = len(isd.layers)
for layer in isd.layers:
    layer.name
    for channel in layer.channels:
        ch = channel.data  # a numpy array

运行 python -m psdtags 5_layers.tif 预览 TIFF 文件中的图层信息。

关于python - 使用python获取tif图像中的层数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74047816/

相关文章:

python - 如何描述 kmeans 之后的每个组?

python - 将 2 个图像转换为 numpy 数组并逐像素比较

python - 没有名为 Pillow 的模块

python - 图像库从 JPEG 转换为

python-3.x - Pillow 的坐标系似乎与绘图部分不同

Python xgoogle 库 - 站点特定搜索

python - 更新 Anaconda,导入 scipy 时出现错误消息 "cannot import name ' moduleTNC'"

python - 在调用类实现的实例中调用方法 - 但在其他方面不相关

python - 按索引删除 pandas 中的行 - 必须添加到索引吗?

python - 您可以将 "stream"图像发送到 ffmpeg 以构建视频,而不是将它们保存到磁盘吗?