【发布时间】:2013-10-14 09:21:02
【问题描述】:
我在 Visual Studio 2013 中运行 Python 2.7。之前的代码在 Spyder 中运行良好,但是当我运行时:
import numpy as np
import scipy as sp
import math as mt
import matplotlib.pyplot as plt
import Image
import random
# (0, 1) is N
SCALE = 2.2666 # the scale is chosen to be 1 m = 2.266666666 pixels
MIN_LENGTH = 150 # pixels
PROJECT_PATH = 'C:\\cimtrack_v1'
im = Image.open(PROJECT_PATH + '\\ST.jpg')
我最终遇到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\cimtrack_v1\PythonApplication1\dr\trajgen.py", line 19, in <module>
im = Image.open(PROJECT_PATH + '\\ST.jpg')
File "C:\Python27\lib\site-packages\PIL\Image.py", line 2020, in open
raise IOError("cannot identify image file")
IOError: cannot identify image file
为什么会这样,我该如何解决?
按照建议,我在 Python 2.7 中使用了 Pillow 安装程序。但奇怪的是,我最终得到了这个:
>>> from PIL import Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named PIL
>>> from pil import Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pil
>>> import PIL.Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named PIL.Image
>>> import PIL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named PIL
全部失败!
【问题讨论】:
-
文件是否存在且格式正确?
-
@kroolik 是的,它确实存在。我通过将它移动到其他地方来测试它的存在,并且错误消息变为“没有这样的文件”。格式为.jpg。在我成功导入之前。
-
也许尝试使用不同的图像文件?您的图片可能已损坏。
-
您安装了
libjpeg-dev吗?或者,换句话说,PIL在安装时是否打印了--- JPEG support available? -
您需要有库来处理特定的图像扩展。如果您执行
pip install -U PIL,则在输出的末尾应该会告诉您哪些扩展可用。另外,我建议卸载PIL并安装pillow- 它会自动处理将库链接到特定目录。除此之外,它是常规PIL的包装器。
标签: python python-imaging-library