Python图像库(PIL)处理浮点tiff时出错

1 投票
1 回答
1864 浏览
提问于 2025-04-17 07:52

我正在写一个脚本,目的是把一个浮点格式的2K(2048x2048)tiff图片的分辨率改成1024x1024。

但是我遇到了以下错误:

文件 "C:\Python26\lib\site-packages\PIL\Image.py",第1916行,打开时出错

IOError: 无法识别的图片文件

我的代码:

import Image

im = Image.open( inPath ) 
im = im.resize( (1024, 1024) , Image.ANTIALIAS )
im.save( outPath )

有什么想法吗?

从这个链接下载我的图片

另外,我使用的是pil 1.1.6,pil的安装和python的安装(2.6.6)都是x64位的。

1 个回答

2

试试下面这两种方法:

  1. 以二进制模式打开文件,
  2. 给文件提供完整的路径。

希望对你有帮助!

编辑:在测试了提问者的图片后:

看起来这个图片确实有问题。我在GNU/Linux系统上,找不到任何一个程序能处理它。关于问题的具体信息,GIMP给出的提示是最有帮助的:

GIMP错误信息

还有ImageMagik:

display: roadnew_disp27-dm_u0_v0_hr.tif: invalid TIFF directory; tags are not sorted in ascending order. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/703.
display: roadnew_disp27-dm_u0_v0_hr.tif: unknown field with tag 18 (0x12) encountered. `TIFFReadDirectory' @ warning/tiff.c/TIFFWarnings/703.

我自己没有尝试过,但在网上搜索“python tiff”时找到了pylibtiff这个库,它是专门为TIFF文件设计的,可能在处理这类文件时会更强大一些……

希望对你有帮助!

撰写回答