Pillow 安装使用教程

一、Pillow 简介

Pillow 是 Python 图像处理库 PIL(Python Imaging Library)的友好分支,是图像处理的事实标准。它支持打开、编辑、转换、保存多种图像格式,常用于图像批量处理、验证码识别、缩略图生成等应用场景。


二、安装 Pillow

2.1 使用 pip 安装(推荐)

bash 复制代码
pip install Pillow

2.2 验证安装

python 复制代码
import PIL
print(PIL.__version__)

若无报错且输出版本号,则说明安装成功。


三、基本使用示例

3.1 打开图像

python 复制代码
from PIL import Image

img = Image.open("example.jpg")
img.show()

3.2 图像信息

python 复制代码
print(img.format)      # 图像格式(JPEG、PNG 等)
print(img.size)        # 图像尺寸
print(img.mode)        # 颜色模式(RGB、L 等)

3.3 图像保存

python 复制代码
img.save("output.png")

四、常见图像操作

4.1 缩放与裁剪

python 复制代码
resized = img.resize((200, 200))
cropped = img.crop((100, 100, 300, 300))  # 左、上、右、下

4.2 旋转与翻转

python 复制代码
rotated = img.rotate(45)           # 顺时针旋转 45°
flipped = img.transpose(Image.FLIP_LEFT_RIGHT)  # 左右翻转

4.3 转换颜色模式

python 复制代码
gray = img.convert("L")    # 转为灰度图
rgba = img.convert("RGBA") # 转为带透明通道的图像

五、绘图与文字处理

python 复制代码
from PIL import ImageDraw, ImageFont

draw = ImageDraw.Draw(img)
draw.rectangle((50, 50, 150, 150), outline="red")
draw.text((60, 60), "Hello", fill="blue")

使用自定义字体:

python 复制代码
font = ImageFont.truetype("arial.ttf", 24)
draw.text((10, 10), "你好", font=font, fill="black")

六、图像滤镜与增强

python 复制代码
from PIL import ImageFilter

blurred = img.filter(ImageFilter.BLUR)
contour = img.filter(ImageFilter.CONTOUR)

七、批量图像处理

python 复制代码
import os

for filename in os.listdir("images"):
    if filename.endswith(".jpg"):
        img = Image.open(f"images/{filename}")
        img.thumbnail((300, 300))
        img.save(f"thumbnails/{filename}")

八、常见问题

Q1: 报错 OSError: cannot open resource

字体文件路径不正确,使用绝对路径或将字体文件放入项目目录中。

Q2: 中文无法显示?

需要使用支持中文的字体,如 simhei.ttfmsyh.ttf,并加载为 ImageFont.truetype()


九、学习资源推荐


本文由"小奇Java面试"原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

相关推荐
BB_CC_DD23 分钟前
在NVIDIA Jetson Orin NX (Ubuntu 22.04, JetPack 5.1, CUDA 11 cuDnn8) 上安装PyTorch 2
pytorch·深度学习·ubuntu
youngfengying33 分钟前
身体活动(physical activity)---深度学习
人工智能·深度学习
AI人工智能+1 小时前
药品经营许可证识别技术:通过深度学习算法实现资质文件的自动化识别与核验
人工智能·深度学习·ocr·药品经营许可证识别
无风听海1 小时前
神经网络之反向传播
人工智能·深度学习·神经网络
姜—姜3 小时前
通过构建神经网络实现项目预测
人工智能·pytorch·深度学习·神经网络
麦麦大数据10 小时前
F024 RNN+Vue+Flask电影推荐可视化系统 python flask mysql 深度学习 echarts
python·rnn·深度学习·vue·echarts·电影推荐
诸葛箫声11 小时前
十类图片深度学习提升准确率(0.9317)
人工智能·深度学习
wan5555cn12 小时前
当代社会情绪分类及其改善方向深度解析
大数据·人工智能·笔记·深度学习·算法·生活
nju_spy12 小时前
华为AI岗 -- 笔试(一)
人工智能·深度学习·机器学习·华为·笔试·dbscan·掩码多头自注意力
初学小刘13 小时前
深度学习在目标检测中的应用与挑战
人工智能·深度学习·目标检测