Python图像库PIL的类Image及其方法介绍

Pillow库Image类详细使用指南

一、安装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库中一个非常重要的类,用于表示和操作图像对象。熟练掌握这些方法可以大大提高图像处理的效率。