编程与 AI12 分钟阅读更新于 2026-07-15

Python 图片处理库怎么选:Pillow、OpenCV、imageio 分别适合什么

面向实际图片处理任务,讲清 Python 常见图片库的定位:改尺寸、压缩、裁剪、水印、批量处理、识别和视频帧处理该怎么选。

相关工具

先按任务选库,不要一上来追求全能

Python 图片处理常见选择有 Pillow、OpenCV、imageio。Pillow 更适合日常图片操作,比如打开图片、改尺寸、裁剪、转格式、加水印;OpenCV 更偏计算机视觉,比如边缘检测、目标识别、视频帧处理;imageio 适合读取和写入多种图片、GIF、视频帧。很多网站运营和自媒体图片任务,用 Pillow 就够了。

选库之前先问自己:是要批量压缩图片,还是要做识别分析?是处理 PNG/JPG/WebP,还是处理视频帧?是一次性脚本,还是要放到线上服务里?需求越清楚,选型越简单。

Pillow 适合日常图片自动化

如果只是改尺寸、转格式、压缩封面图,Pillow 上手很快:

python代码示例
from PIL import Image

image = Image.open("cover.png")
image = image.convert("RGB")
image.thumbnail((1200, 1200))
image.save("cover.webp", "WEBP", quality=82)

这段代码会把图片转成 RGB,限制最大尺寸,然后保存为 WebP。做网站图片时,这类操作很常见:原图太大影响加载,就先压缩和缩放;PNG 透明图要保留透明通道时,则不能随便 convert('RGB')。处理前要知道目标格式是否支持透明。

OpenCV 适合识别和图像分析

OpenCV 的强项不是简单压缩,而是图像算法。比如灰度化、阈值、轮廓检测、模板匹配、摄像头画面处理。它读图默认是 BGR 通道顺序,和很多库常见的 RGB 不一样,这是新手经常踩的坑。

如果你的目标是给图片自媒体做批量尺寸、封面安全区、水印、长图切片,站内图片工具或 Pillow 脚本通常更轻。如果目标是识别图片里的文字、物体或视频帧,就可以考虑 OpenCV 或结合 AI 服务。

图片处理上线前要注意成本

图片处理很吃 CPU、内存和存储。用户上传 20MB 原图,服务端如果不限制尺寸和格式,很容易拖慢页面。比较稳的做法是:上传前限制大小,服务端生成缩略图,保留原图时单独存储,页面只加载压缩后的 WebP。

如果图片处理和 AI 生成、视频合成结合,比如剧本、插图、配音、字幕到视频的流程,可以参考阿里云的 AI 剧本生成与动画制作方案:https://www.aliyun.com/solution/tech-solution/animation-creation?utm_content=g_1000401724&userCode=hzn6nvhm 。如果只是文本绘图和人像美化,也可以看通义万相方案:https://www.aliyun.com/solution/tech-solution/tongyi-wanxiang?utm_content=g_1000401727&userCode=hzn6nvhm

常见问题

Pillow 和 OpenCV 选哪个?

日常改尺寸、裁剪、转格式优先 Pillow;图像识别、视频帧处理、算法分析优先 OpenCV。

网站图片推荐转 WebP 吗?

多数场景推荐。WebP 通常体积更小,但要注意透明、清晰度和浏览器兼容。

批量处理图片前要注意什么?

先备份原图,预览输出尺寸和质量,再批量覆盖或另存。

Python 实用

继续阅读

返回专题