Python库 - PIL

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()

相关推荐
IVEN_17 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang18 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮19 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling19 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮1 天前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽1 天前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健2 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞2 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽2 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers