PIL(Python Imaging Library)
是一个强大的图像处理库,为Python提供了图像处理的功能。PIL库后来被Pillow项目继承和扩展,Pillow是PIL的一个友好分支,提供了更多的功能和更好的兼容性。
安装PIL库
首先,需要安装Pillow库,因为PIL库已经不再维护。可以使用pip来安装Pillow:
bash
pip install Pillow
基本图像操作
打开图像
可以使用Image.open()
函数来打开一个图像文件:
python
from PIL import Image
# 打开图像文件
image = Image.open('path_to_image.jpg')
# 显示图像
image.show()
保存图像
可以使用save()
方法来保存图像:
python
# 保存图像
image.save('new_image.png')
获取图像信息
可以获取图像的格式、大小和模式等信息:
python
# 获取图像格式
print(image.format) # 输出: JPEG
# 获取图像大小
print(image.size) # 输出: (width, height)
# 获取图像模式
print(image.mode) # 输出: RGB
图像处理
裁剪图像
可以使用crop()
方法来裁剪图像:
python
# 定义裁剪区域 (left, upper, right, lower)
box = (100, 100, 400, 400)
region = image.crop(box)
region.show()
调整图像大小
可以使用resize()
方法来调整图像大小:
python
# 调整图像大小
new_size = (600, 600)
resized_image = image.resize(new_size)
resized_image.show()
旋转图像
可以使用rotate()
方法来旋转图像:
python
# 旋转图像
rotated_image = image.rotate(45)
rotated_image.show()
图像滤镜
可以使用ImageFilter
模块来应用各种滤镜:
python
from PIL import ImageFilter
# 应用模糊滤镜
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.show()
图像合成
可以使用paste()
方法来合成图像:
python
# 打开另一张图像
logo = Image.open('path_to_logo.png')
# 合成图像
image.paste(logo, (100, 100))
image.show()
图像转换
可以使用convert()
方法来转换图像模式:
python
# 转换为灰度图像
gray_image = image.convert('L')
gray_image.show()
示例:创建缩略图
下面是一个创建缩略图的示例:
python
# 创建缩略图
image.thumbnail((128, 128))
image.show()