PIL无法处理uvccapture生成的图像

时间:2013-10-30 15:29:40

标签: python python-2.7 image-processing debian python-imaging-library

我使用uvccapture拍摄照片,并希望在pythonpython imaging library (PIL)的帮助下处理它们。 问题是PIL无法打开这些图像。它会抛出以下错误消息。

Traceback (most recent call last):
  File "process.py", line 6, in <module>
    im = Image.open(infile)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1980, in open
    raise IOError("cannot identify image file")
IOError: cannot identify image file

我的python代码如下所示:

import Image

infile = "snap.jpg"
im = Image.open(infile)

我尝试在处理之前以不同的格式保存图像。但这没有用。同时更改文件权限和所有者也无济于事。 唯一有用的是打开图像,例如使用jpegoptim,并用优化的图像覆盖旧图像。完成此过程后,PIL可以处理这些图像。

这是什么问题? uvccapture生成的文件是否已损坏?

//编辑:我还发现,无法使用uvccapture打开使用scipy生成的图片。运行命令

im = scipy.misc.imread("snap.jpg")

会产生同样的错误。

IOError: cannot identify image file

1 个答案:

答案 0 :(得分:0)

我只找到了解决此问题的方法。我使用jpegoptim处理捕获的图片,然后PIL可以处理优化的图像。