2016-05-12 283 views
2

我試圖讀取使用枕頭jpg文件(版本3.2.0)(Python的3.4)失敗,但失敗,出現以下錯誤:閱讀圖像中Jupyter筆記本Jupyter筆記本

OSError: broken data stream when reading image file

我使用下面的代碼:

from PIL import Image 
im = Image.open("/path/to/image.jpeg") 
im.show() 

它正常工作,無論是在交互式Python外殼,並使用Python 2.7,而不是3.4。

我已經按照這些步驟:Using Pillow with Python 3

任何一個想法,這是怎麼回事?

回答

1

看起來你並沒有指向存儲照片的目錄。

import os 
defaultWd = os.getcwd() 
defaultWd # Sets your curretn wd 

os.chdir(defaultWd + '\\Desktop') # Points to your photo--e.g., on Desktop 
os.getcwd() # Shows change in wd 

from PIL import Image 
im = Image.open("Mew.jpg") 
im.show() # Will plot to your default image viewing software 

如果你不想改變目前的WD另一種方式:

im = Image.open(os.getcwd() + "\\Desktop\\Mew.jpg") 
im.show() 

如果你想繪製在線:

from matplotlib.pyplot import imshow 

%matplotlib inline 
inlinePic = Image.open(os.getcwd() + "\\Desktop\\Mew.jpg") 
imshow(inlinePic) 

注意:您可能還需要只需像上面那樣輸入'jpg'而不是'jpeg',如果你的圖像在你當前的工作目錄中。另外,如果PIC未安裝,您將會收到此錯誤NameError: name 'Image' is not defined

+0

我正在使用絕對路徑。爲了便於閱讀,我從代碼片段中刪除了它。讀取文件時發生問題。這與繪圖無關。如果我用'im'替換'im.show()',也會出現這種情況 – aecker