使用 Python 从 Web URL 读取图像数据
使用 Python 图像库 (PIL) 从本地文件检索图像数据非常简单。然而,访问远程 URL 上托管的图像时会出现挑战。本文将提供一种从 URL 源高效创建 PIL 图像对象的解决方案,从而消除存储中间文件的需要。
使用 Image.open(urlopen(url)) 的主要问题是无法使用查找() 方法用于类文件对象。为了解决这个问题,人们可以尝试 Image.open(urlopen(url).read()),但这种方法也会失败。
幸运的是,Python 3 中有一个可行的解决方案。通过利用 BytesIO 类通过 io 模块,您可以直接使用从 URL 检索到的图像数据。以下是实现此目的的方法:
from PIL import Image import requests from io import BytesIO response = requests.get(url) img = Image.open(BytesIO(response.content))
此代码段首先使用 requests 库从指定的 URL 获取图像数据。然后 BytesIO 类将原始内容包装成一个类似文件的对象,该对象可以直接传递给 Image.open(),创建一个 PIL 图像对象。
通过利用这种方法,您可以高效地从无需创建临时文件的 URL,简化您的图像处理工作流程。
以上是如何在 Python 中将 Web URL 中的图像加载到 PIL 对象中?的详细内容。更多信息请关注PHP中文网其他相关文章!