Pillow是一个用于Python的图像处理模块,支持多种图像格式的读取和写入,并提供丰富的图像处理工具。下面是使用Pillow进行图像处理的完整攻略。
安装
首先需要安装Pillow模块,可以使用pip进行安装:
pip install pillow
读取图像
在Pillow中,可以使用Image
对象表示一个图像,用open()
函数读取图像文件并返回一个Image
对象:
from PIL import Image
# 打开图像文件并返回Image对象
img = Image.open('test.jpg')
# 显示图像大小和格式
print(img.size, img.mode)
输出结果类似于:
(1280, 800) RGB
处理图像
可以使用Image
对象提供的方法对图像进行处理,例如调整大小、旋转、转换格式等等。下面是一些示例。
调整大小
Image
对象中的resize()
方法可以调整图像的大小,并返回一个新的Image
对象:
# 调整图像大小为宽度为600,高度按比例缩放
new_img = img.resize((600, int(600 * img.size[1] / img.size[0])))
# 显示新图像大小和格式
print(new_img.size, new_img.mode)
# 保存新图像文件
new_img.save('new.jpg')
旋转
Image
对象中的rotate()
方法可以对图像进行旋转,角度为正表示逆时针旋转,角度为负表示顺时针旋转:
# 将图像逆时针旋转90度
rotated_img = img.rotate(90)
# 保存旋转后的图像文件
rotated_img.save('rotated.jpg')
转换格式
Image
对象中的convert()
方法可以将图像文件的格式转换为其他格式:
# 转换图像文件格式为PNG
png_img = img.convert('PNG')
# 保存PNG格式的图像文件
png_img.save('new.png')
其他操作
除了上文提到的一些基本操作,Pillow还提供了一些高级的图像处理工具,例如图像滤镜、添加水印等等。这里不一一赘述,有兴趣的读者可以查阅Pillow的官方文档。
示例
下面是一个示例程序,读取一张图像文件并将其转换为灰度图像:
from PIL import Image
# 打开图像文件并返回Image对象
img = Image.open('test.jpg')
# 将图像转换为灰度图像
gray_img = img.convert('L')
# 显示新图像大小和格式
print(gray_img.size, gray_img.mode)
# 保存灰度图像文件
gray_img.save('gray.jpg')
输出结果类似于:
(1280, 800) L
下面是另一个示例程序,读取一张图像文件并将其模糊处理:
from PIL import Image, ImageFilter
# 打开图像文件并返回Image对象
img = Image.open('test.jpg')
# 使用高斯模糊滤镜对图像进行模糊处理
blur_img = img.filter(ImageFilter.GaussianBlur(10))
# 显示新图像大小和格式
print(blur_img.size, blur_img.mode)
# 保存模糊处理后的图像文件
blur_img.save('blur.jpg')
输出结果类似于:
(1280, 800) RGB
结语
Pillow是一个十分强大的Python图像处理模块,具有丰富的功能和易于使用的接口。通过熟练掌握Pillow的使用,可以实现各种各样的图像处理任务。