0

我使用uvccapture拍攝照片並希望在pythonpython imaging library (PIL)的幫助下處理它們。 問題是PIL無法打開這些圖像。它引發以下錯誤消息。PIL無法處理由uvccapture生成的圖像

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 

回答

0

我只找到了解決此問題的方法。我用jpegoptim處理捕獲的圖片,後處理PIL可以處理優化後的圖片。