PIL image.open()适用于某些图像但不适用于其他图像

时间:2012-07-30 18:41:26

标签: python image python-imaging-library noaa

我使用PIL定期打开NOAA的AREA文件。在我收到的最后一批图像中,image.open()命令根本不起作用。这是我写的一个简单的代码,它产生相同的结果。它将使用一个月前的文件打开,旋转和执行正常任务,而不是使用今天的文件。

from PIL import Image
im = Image.open("path/to/file")
im.show()

这是错误:

File "image_goes.py", line 2, in <module>
im = Image.open("path/to/file")
File "/usr/lib/python2.6/dist-packages/PIL/Image.py", line 1980, in open
raise IOError("cannot identify image file")
IOError: cannot identify image file

以下是我的尝试:

  1. 在两台独立的机器上打开图像。
  2. 如果存在权限问题,请更改文件的文件夹
  3. 使用手动FTP和我们的自动脚本重新加载图像以及其他两个批次。
  4. 我的假设是我们的下载脚本存在问题并且没有完全下载文件,但是新文件大小正确并且我使用FTP手动下载它们这个假设被拒绝了客户并得到了相同的结果。

    我唯一的另一个理论是,今天的NOAA文件存在问题,或者它们已经被改变,PIL无法再处理它们,但我发现这不太可能。

    任何帮助非常感谢, 感谢

3 个答案:

答案 0 :(得分:10)

可能是内容实际上没有同步到磁盘。试试Image.open(open("path/to/file", 'rb'))

答案 1 :(得分:1)

对于

im = Image.open("path/to/file")

尝试

im = Image.open(r"path/to/file")

也就是说,将r放在路径字符串之前。

答案 2 :(得分:0)

使用cv2读取图像。

im = cv2.imread(path)

并开放使用

cv2.imshow()