Python图像处理入门:用Pillow快速上手
1. Pillow简介
日常开发里,做网站缩略图、生成随机验证码、批量裁剪图片尺寸,不用找复杂的Photoshop脚本或付费API,Python的Pillow库就能轻松搞定。
它是老牌 Python Imaging Library(PIL)的现代化分支:在保留PIL简洁API的同时,完全兼容Python3,还添加了新格式支持、性能优化等特性,是目前Python生态中最流行的轻量级图像处理工具。
核心亮点:
- 支持超40种图像格式(JPEG/PNG/BMP/GIF/TIFF/WebP等)
- 覆盖基础到进阶的常用图像处理需求
- 代码逻辑清晰,新手友好
- 社区活跃,维护稳定
2. 快速安装
标准pip安装
Anaconda/Miniconda环境
Linux/macOS权限提示:普通用户建议用
--user参数避免修改系统环境:
3. 基础图像操作
3.1 打开、查看与保存
这是Pillow最核心的第一步,代码几乎和“打开记事本”一样直观:
3.2 调整大小
有两种常用方式:
thumbnail():按比例缩小,原地修改图像,不会超出指定尺寸resize():强制拉伸/缩放,返回新图像,尺寸完全可控
3.3 旋转与翻转
都是返回新图像的非原地操作:
4. 一键套用内置滤镜
Pillow封装了十几种常用滤镜,不用写复杂算法:
5. 简单图像绘制
搭配ImageDraw和ImageFont,可以生成验证码、水印、简单图表等:
5.1 基础图形绘制
5.2 实用小工具:生成4位验证码
很多网站的验证码逻辑都可以用这个简化版实现:
6. 进阶小功能
6.1 带透明度的图像合成
比如把水印PNG叠加到照片上:
7. 常见问题速查
-
系统字体加载失败:
替换代码里的字体路径为对应系统的绝对路径,或者直接使用ImageFont.load_default() -
RGBA转JPEG报错:
JPEG不支持透明度,需要先转RGB: -
大图像处理内存溢出:
优先用thumbnail()按比例缩小,避免直接resize()超大尺寸
8. 学习资源
- 📖 官方文档(中文可选):https://pillow.readthedocs.io/
- 📂 官方示例库:https://github.com/python-pillow/Pillow/tree/main/Examples
通过本教程,你已经掌握了Pillow的80%核心使用场景,剩下的可以根据官方文档按需探索!

