详解如何在PIL中从URL中打开一个图像

  • Post category:Python

你好,使用PIL库中的Image模块,可以从URL中打开一个图像。下面是具体步骤:

1. 安装Pillow库

PIL库已经不再更新,我们可以使用其分支库Pillow。可以通过以下命令在终端中安装:

pip install Pillow

2. 导入Pillow库和io模块

在Python中导入所需的库和模块:

from PIL import Image
import requests
from io import BytesIO

3. 请求图像

使用Python的requests模块访问URL并获取图像:

url = "https://example.com/image.jpg"
response = requests.get(url)

4. 从响应体中获取图像

使用Python的io模块将响应体转换为PIL库中的Image对象:

img = Image.open(BytesIO(response.content))

这里的BytesIO(response.content)是将requests的响应体二进制数据转化为io.BytesIO型的内存流对象。

完整代码示例1:

from PIL import Image
import requests
from io import BytesIO

url = "https://example.com/image.jpg"
response = requests.get(url)
img = Image.open(BytesIO(response.content))
img.show()

完整代码示例2:

from PIL import Image
import requests
from io import BytesIO

url = "https://example.com/image.jpg"
response = requests.get(url)
with Image.open(BytesIO(response.content)) as img:
    img.save("image.jpg")

以上是如何使用Pillow从URL中打开一个图像,并有两个附加示例说明。