详解Python PIL Image.open()方法

  • Post category:Python

Python PIL Image.open()方法详解

简介

Python PIL(Python Imaging Library)是一个Python下的图像处理模块,提供了图像读取、处理等功能。其中Image.open()方法是PIL模块中的一个读取图像的方法。

方法介绍

方法原型

Image.open(fp, mode='r')

参数说明:

  • fp:文件名或二进制流对象(如BytesIO)。
  • mode:打开的模式,默认为’r’。其他模式还包括:’r’(只读)、’w’(只写入)、’a’(追加)。

返回值:一个PIL.Image.Image对象,其中包含了读取的图片。

示例说明

示例1:读取本地图片

from PIL import Image

# 打开本地图片文件
img = Image.open('test.jpg')

# 显示图片
img.show()

上述代码中,首先导入PIL模块中的Image类;其次,使用Image.open()方法打开了一张名为test.jpg的本地图片文件,并将打开的图片赋值给了img变量;最后,调用img.show()方法,可以在本地图像查看器中查看该图片。

示例2:读取在线图片

import requests
from PIL import Image
from io import BytesIO

# 打开在线图片
response = requests.get('http://example.com/image.jpg')
img = Image.open(BytesIO(response.content))

# 显示图片
img.show()

上述代码中,首先引入了requests模块用于向网络获取图片;其次,引入了io模块中的BytesIO函数,用于将获取到的图片二进制流转换成BytesIO对象;通过requests.get()方法获取到网址为’http://example.com/image.jpg’的图片,并将获取到的图片的二进制流通过BytesIO函数转换成BytesIO对象;然后将BytesIO对象作为参数传入到Image.open()方法中,获取到一个PIL.Image.Image对象;最后调用img.show()方法,可以在本地图像查看器中查看该图片。

总结

Image.open()方法是PIL模块中读取图像的重要方法,它支持读取本地和在线图片。根据需要设置打开图片的模式即可向其中传入文件名或二进制流。