我使用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
以下是我的尝试:
我的假设是我们的下载脚本存在问题并且没有完全下载文件,但是新文件大小正确并且我使用FTP手动下载它们这个假设被拒绝了客户并得到了相同的结果。
我唯一的另一个理论是,今天的NOAA文件存在问题,或者它们已经被改变,PIL无法再处理它们,但我发现这不太可能。
任何帮助非常感谢, 感谢
答案 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()