PIL通过Pillow实现图像打开、显示、保存,支持裁剪、缩放、模式转换、绘图等操作,适用于图像处理与数据预处理。

PIL(Python Imaging Library)是一个用于处理图像的库,现在主要通过其活跃的分支Pillow来使用。它支持多种图像格式,能进行图像打开、修改、保存等操作,是Python中最基础且实用的图像处理工具之一。
图像的基本操作
使用PIL可以轻松完成图像的打开、显示和保存。
- 打开图像: 使用Image.open('path/to/image.jpg')读取图像文件,支持JPEG、PNG、BMP等多种格式。
- 显示图像: 调用image.show()可在默认查看器中预览图像。
- 保存图像: 使用image.save('new_name.png')将处理后的图像保存为指定格式。
图像的裁剪与缩放
对图像尺寸进行调整是常见需求,PIL提供了简单的方法。
- 裁剪图像: 使用image.crop((left, top, right, bottom))按坐标区域截取图像。
- 调整大小: 调用image.resize((width, height))改变图像尺寸,注意可能影响比例。
- 等比缩放: 使用image.thumbnail((size, size))生成保持比例的缩略图。
图像模式与颜色处理
PIL支持多种图像模式,如RGB、L(灰度)、RGBA等,可用于颜色转换。
简单实用原生js实现带缩略图文字说明左右轮播切换相册插件下载。一款基于原生JavaScript实现图片相册幻灯轮播图特效插件,没有引入任何jQuery库,短短数行原生php中文网实现。
立即学习“Python免费学习笔记(深入)”;
- 转为灰度图: 使用image.convert('L')将彩色图像转为黑白灰度图像。
- 通道分离: 可用image.split()分离R、G、B通道,单独处理某一颜色层。
- 合并通道: 使用Image.merge(mode, bands)将多个通道重新合成图像。
添加文字或绘制图形
借助ImageDraw和ImageFont模块,可以在图像上绘图或加文字。
- 创建绘图对象:draw = ImageDraw.Draw(image)。
- 写入文字:draw.text((x, y), "Hello", fill="red"),指定位置和颜色。
- 画矩形或线条:draw.rectangle(...)或draw.line(...)实现简单图形绘制。
基本上就这些。PIL功能强大又简洁,适合做图像预处理、批量转换、水印添加等任务,配合NumPy还能用于深度学习中的数据准备。安装用pip install pillow即可开始使用。









