我正在尝试使用 PIL 的图像功能打开一个 geotiff 文件。它引发了错误:
OSError: cannot identify image file 'Whatever\\image\\I\\use.tiff'
例如,我看到 这里 提出的问题,解决方案要么使用
Import Image
代替
From PIL import Image
我认为这是一个过时的解决方案;我无法导入图像。另一个解决方案是将 pillow 更新到 2.9,但 5 年后我们使用的是 5.0.0。我也尝试了 4.0.0,但我收到了同样的错误。是否有最新的解决方案?
这是我的代码, 这 是文件的链接:
image_path = 'each\\image\\I\\use.tiff'
from PIL import Image
Image.open(image_path)
原文由 ArnJac 发布,翻译遵循 CC BY-SA 4.0 许可协议
您有一个多通道 32 位 TIFF 图像,而 Pillow 尚不支持该格式。请参阅 问题 #1888 :
我通过直接使用 TIFF 插件图像阅读器确定了这一点,并启用了调试模式:
其中包括输出:
(下面的完整调试输出)
您可以使用 Python GDAL 绑定 来读取此格式。您还可以使用
gdal_translate
命令行实用程序 将文件转换为 Pillow 可以 处理的格式;对于多波段,您必须降低到 8 位,或者移动到灰度。例如,要将输入文件转换为 PNG,您可以使用:
之后 Pillow 可以打开 PNG 文件。
Pillow 的 TIFF 插件的完整调试输出: