【发布时间】:2018-05-04 11:12:29
【问题描述】:
我正在使用 Python 和请求库。例如,我只想将图像下载到 numpy 数组中,并且有多个问题可以在其中找到不同的组合(使用 opencv、PIL、requests、urllib...)
它们都不适合我的情况。当我尝试下载图像时,我基本上收到此错误:
cannot identify image file <_io.BytesIO object at 0x7f6a9734da98>
我的代码的一个简单示例可以是:
import requests
from PIL import Image
response = requests.get(url, stream=True)
response.raw.decode_content = True
image = Image.open(response.raw)
image.show()
让我发疯的主要原因是,如果我将图像下载到文件(使用 urllib),整个过程运行没有任何问题!
import urllib
urllib.request.urlretrieve(garment.url, os.path.join(download_folder, garment.get_path()))
我做错了什么?
编辑:
我的错误最终与 URL 形成有关,而不是与请求有关 或 PIL 库。如果 URL 正确,我之前的代码示例应该可以完美运行。
【问题讨论】:
-
尝试在
Image.open前添加output.seek(0) -
我想你可能错了!我应该在哪里打电话寻求?在您提到的问题中,他们正在将图像写入文件,但这正是我试图避免的
-
你的第一个代码块对我来说很好。你使用的是什么版本的 python/requests/PIL?我在 python 2.7 上使用过:
Pillow==5.1.0 requests==2.18.4 -
我正在使用:python:3.5,请求:2.18.4,PIL:5.1.0
标签: python python-requests python-imaging-library