I use PIL to open AREA files from NOAA on a regular basis. In the last batch of images I received, the image.open() command simply does not work. Here is a simple code I wrote which yields the same results. It will open, rotate, and perform normal tasks with a file from a month ago, and not with a file from today.

from PIL import Image

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

im.show()

Here's the error:

File "image_goes.py", line 2, in

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

Here's what I have tried:

Opening the image on two separate machines.

Changing the folder of the file in case there was a permission problem

Redownloading the image, as well as two other batches, both using FTP manually AND our automatic script.

My hypothesis was that there was a problem with our downloading script and that it was not fully downloading the file, but that hypothesis is rejected by the fact that the new files are the correct size and that I manually downloaded them using an FTP client and got the same results.

My only other theory is that there is a problem with the NOAA files today or that they have been changed in such a way that PIL can no longer handle them, but I find that unlikely.

Any help greatly appreciated,

Thanks

解决方案

Maybe be the content is not actually synced to the disk. try Image.open(open("path/to/file", 'rb'))

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐