【问题标题】:Can not open .tif image无法打开 .tif 图像
【发布时间】:2020-07-01 22:01:21
【问题描述】:

我想打开一个 .tif 图像,但我尝试使用的每个库总是出错。 我试过 PIL:

from PIL import Image
img = Image.open('filepath/img_name.tif')

但我收到以下错误:

UnidentifiedImageError: 无法识别图像文件 'filepath/img_name.tif'

(这个错误不代表我找不到文件所以目录应该是好的)

我尝试使用 tifffile:

import tifffile
img = tifffile.imread('filepath/img_name.tif')

我收到以下错误:

NotImplementedError:不支持将 14 位整数解包为 uint16。

我很确定问题出在图片上,因为我试图在互联网上打开一个 tif 图像,它只需要这样做:this is the picture

from PIL import Image
im = Image.open('a_image.tif')

有没有办法将我的 14 位图片转换为 16 位图片? (我知道我可以乘以 4 得到 16 位,但我不知道如何)

【问题讨论】:

  • 如果安装了imagecodecs 包,Tifffile 可以解压 14 位整数。
  • 请上传实际的 .tif 文件并提供指向它的链接,以便尝试提供帮助的人可以使用它(当前问题中的链接是 .png 图像)。
  • 其实cgohlke解决了这个问题。我需要安装 imagedecodecs,它可以工作!

标签: python type-conversion tiff


【解决方案1】:

我安装了imagedecodecs,tifffile已经可以打开了

import tifffile
img = tifffile.imread(tif_name)

问题是我的图像是 14 位的。

【讨论】:

    【解决方案2】:

    您的 TIF 文件可能不止一帧。那可能是个问题。试试:

    from PIL import Image
    
    image = Image.open("animation.tif")
    image.seek(1) # skip to the second frame
    
    try:
        while 1:
            image.seek(image.tell()+1)
            # do something to im
    except EOFError:
        pass # end of sequence
    

    来自documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2017-04-24
      相关资源
      最近更新 更多