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

相关推荐
明月清风徐徐3 分钟前
Scrapy爬取豆瓣电影Top250排行榜
python·selenium·scrapy
theLuckyLong4 分钟前
SpringBoot后端解决跨域问题
spring boot·后端·python
ROC_bird..4 分钟前
STL - vector的使用和模拟实现
开发语言·c++
Make_magic6 分钟前
Git学习教程(更新中)
大数据·人工智能·git·elasticsearch·计算机视觉
Yongqiang Cheng7 分钟前
Python operator.itemgetter(item) and operator.itemgetter(*items)
python·operator·itemgetter
MavenTalk10 分钟前
Move开发语言在区块链的开发与应用
开发语言·python·rust·区块链·solidity·move
FksLiao22 分钟前
Superset安装
python
L Jiawen29 分钟前
【Python · PyTorch】卷积神经网络(基础概念)
pytorch·python·cnn
goomind34 分钟前
深度学习模型评价指标介绍
人工智能·python·深度学习·计算机视觉
youcans_35 分钟前
【微软报告:多模态基础模型】(2)视觉理解
人工智能·计算机视觉·大语言模型·多模态·视觉理解