在 Jupyter Notebook 中使用 Pillow 读取图像失败
Reading image using Pillow fails in Jupyter notebook
我正在尝试在 Jupyter notebook (Python 3.4) 中使用 Pillow(版本 3.2.0)读取 jpg 文件,但失败并出现以下错误:
OSError: broken data stream when reading image file
我正在使用以下代码:
from PIL import Image
im = Image.open("/path/to/image.jpeg")
im.show()
它在交互式 Python shell 和使用 Python 2.7 而不是 3.4 中都工作正常。
我已经完成了这些步骤:Using Pillow with Python 3
有人知道发生了什么事吗?
您似乎没有指向存储照片的目录。
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
。
问题与另一个导入有关:我在PIL之前导入了Tensorflow,导致了这个问题。与此问题相同:https://github.com/scikit-image/scikit-image/issues/2000。更改导入的顺序解决了它。
我正在尝试在 Jupyter notebook (Python 3.4) 中使用 Pillow(版本 3.2.0)读取 jpg 文件,但失败并出现以下错误:
OSError: broken data stream when reading image file
我正在使用以下代码:
from PIL import Image
im = Image.open("/path/to/image.jpeg")
im.show()
它在交互式 Python shell 和使用 Python 2.7 而不是 3.4 中都工作正常。
我已经完成了这些步骤:Using Pillow with Python 3
有人知道发生了什么事吗?
您似乎没有指向存储照片的目录。
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
。
问题与另一个导入有关:我在PIL之前导入了Tensorflow,导致了这个问题。与此问题相同:https://github.com/scikit-image/scikit-image/issues/2000。更改导入的顺序解决了它。