一、安装Pillow库
首先,你需要安装Pillow库。你可以使用pip命令来安装:
pip install pillow
Pillow库安装成功后,导包时要用PIL来导入,而不能用pillow或Pillow。
二、导入Pillow库
from PIL import Image
三、打开图像文件
使用Pillow库打开图像文件非常简单,可以使用Image类的open()方法打开图像文件。
from PIL import Image
img = Image.open('example.jpg')
img.show()
四、Image类的常用属性
| 属性 | 说明 |
|---|---|
| img.format | 图像格式(如JPEG、PNG等) |
| img.mode | 图像模式(如RGB、RGBA、L等) |
| img.size | 图像尺寸(宽度,高度) |
| img.width | 图像宽度 |
| img.height | 图像高度 |
五、创建新图像
from PIL import Image
# 创建一张新图片
new_img = Image.new('RGB', (800, 600), color=(255, 0, 0))
参数说明:模式(RGB/RGBA)、尺寸(宽,高)、颜色
六、图像编辑方法
1. 裁剪图像 - crop()
# 裁剪图像 (左, 上, 右, 下)
cropped_img = img.crop((100, 100, 400, 400))
2. 调整图像大小 - resize()
# 调整图像大小
resized_img = img.resize((800, 600))
3. 旋转图像 - rotate()
# 旋转图像(逆时针角度)
rotated_img = img.rotate(45)
4. 翻转图像 - transpose()
from PIL import ImageFlip
# 水平翻转
flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT)
# 垂直翻转
flipped_img = img.transpose(Image.FLIP_TOP_BOTTOM)
5. 转换图像模式 - convert()
# 转换为灰度图
gray_img = img.convert('L')
# 转换为RGBA
rgba_img = img.convert('RGBA')
6. 调整亮度/对比度 - ImageEnhance
from PIL import ImageEnhance
# 调整亮度
enhancer = ImageEnhance.Brightness(img)
bright_img = enhancer.enhance(1.5) # 增加50%亮度
# 调整对比度
enhancer = ImageEnhance.Contrast(img)
contrast_img = enhancer.enhance(1.5)
7. 模糊效果 - ImageFilter
from PIL import ImageFilter
# 高斯模糊
blurred_img = img.filter(ImageFilter.GaussianBlur(radius=5))
# 锐化
sharpened_img = img.filter(ImageFilter.SHARPEN)
七、图像保存
# 保存图像
img.save('output.jpg')
# 指定格式保存
img.save('output.png', 'PNG')
八、图像通道操作
1. 分离通道
r, g, b = img.split()
2. 合并通道
merged_img = Image.merge('RGB', (r, g, b))
九、获取像素值
# 获取单个像素值
pixel = img.getpixel((100, 100))
# 获取所有像素值
pixels = list(img.getdata())
十、总结
Pillow是Python中最常用的图像处理库,提供了广泛的文件格式支持、强大的图像处理能力,包括图像储存、图像显示、格式转换以及基本的图像处理功能。Image类是PIL库中一个非常重要的类,用于表示和操作图像对象。熟练掌握这些方法可以大大提高图像处理的效率。