当前位置:首页 > Python > 正文

Python Pillow库完全指南:图像处理入门教程 | Python图像处理教程

Python Pillow库完全指南

Pillow是Python最强大的图像处理库之一,本教程将教你如何使用Pillow进行:

  • 图像打开、保存和格式转换
  • 尺寸调整和旋转
  • 图像裁剪和合成
  • 滤镜应用和色彩处理
  • 文字添加和绘图操作

安装Pillow库

pip install Pillow

基础操作:打开/保存图像

from PIL import Image

# 打开图像
img = Image.open('input.jpg')

# 显示图像
img.show()

# 保存为不同格式
img.save('output.png')

图像尺寸操作

调整大小

# 调整尺寸
resized = img.resize((400, 300))

# 保持宽高比缩放
img.thumbnail((200, 200))

旋转图像

# 旋转90度
rotated = img.rotate(90, expand=True)

图像裁剪与合成

# 定义裁剪区域 (left, top, right, bottom)
box = (100, 100, 400, 400)
cropped = img.crop(box)

# 图像合成
overlay = Image.open('watermark.png')
img.paste(overlay, (50, 50), overlay)

滤镜与色彩处理

from PIL import ImageFilter, ImageEnhance

# 应用高斯模糊
blurred = img.filter(ImageFilter.GaussianBlur(radius=2))

# 调整亮度
enhancer = ImageEnhance.Brightness(img)
bright_img = enhancer.enhance(1.5)  # 增加50%亮度

# 转换为灰度图
gray_img = img.convert('L')

添加文字与绘图

from PIL import ImageDraw, ImageFont

draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 36)

# 添加文字 (位置, 文字, 颜色, 字体)
draw.text((50, 50), "Hello Pillow!", fill=(255,0,0), font=font)

# 绘制矩形
draw.rectangle([(100,100), (300,300)], outline="blue", width=2)

格式转换技巧

# 转换图像模式
rgb_img = img.convert('RGB')

# 保存为不同格式
img.save('output.webp', format='WEBP', quality=85)

实际应用案例

创建缩略图并添加水印:

def create_thumbnail(input_path, output_path, size=(200,200)):
    img = Image.open(input_path)
    img.thumbnail(size)
    
    # 添加水印
    watermark = Image.new('RGBA', img.size, (0,0,0,0))
    draw = ImageDraw.Draw(watermark)
    font = ImageFont.truetype('arial.ttf', 20)
    draw.text((10, img.height-30), "© Your Brand", fill=(255,255,255,128), font=font)
    
    # 合成图像
    img.paste(watermark, (0,0), watermark)
    img.save(output_path)

create_thumbnail('photo.jpg', 'thumbnail.jpg')

最佳实践提示

  • 处理大图时使用thumbnail()而非resize()保持宽高比
  • 使用with语句自动关闭文件:with Image.open('img.jpg') as img:
  • PNG图像处理时使用'RGBA'模式支持透明度
  • 保存JPG时调整quality参数(1-100)平衡文件大小和质量

总结

Pillow库提供了强大的图像处理能力,本教程涵盖了:

  1. 图像基础操作(打开/保存/格式转换)
  2. 尺寸调整和旋转技巧
  3. 高级裁剪和合成方法
  4. 滤镜和色彩处理技术
  5. 文字添加和图形绘制

通过结合这些功能,你可以实现复杂的图像处理流水线,满足各种应用场景需求。

发表评论