一 介绍与安装
Pillow 库(有时也称 PIL 库) 是 Python 图像处理的基础库,它是一个免费开源的第三方库,由一群 Python 社区志愿者使用 Python 语言开发而成。Pillow 提供了非常强大的图像处理功能,它能够很轻松地完成一些图像处理任务。与 Python 的其他图像处理库相比(OpenCV、Scikit-image 等
Pillow 库提供了非常丰富的功能,主要有以下几点:
Pillow 库能够很轻松的读取和保存各种格式的图片;
Pillow 库提供了简洁易用的 API 接口,可以让您轻松地完成许多图像处理任务;
Pillow 库能够配合 GUI(图形用户界面) 软件包 Tkinter 一起使用;
Pillow 库中的 Image 对象能够与 NumPy ndarray 数组实现相互转换。
下载代码:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
成功截图
最后,在 CMD 命令行打开 Python 解释器交互环境,输入以下代码,验证 Pillow 是否安装成功。
#导入Image类,该类是pillow中用于图像处理的重要类from PIL import Image
如下所示,如果解释器没有返回错误,则证明已经安装成功。
二 简单操作
代码与解释
from PIL import Image, ImageEnhance
# 读取彩色图像
im = Image.open("path_to_your_image.jpg")
# 转换为灰度图像
gray_im = im.convert("L")
# 增加亮度,factor值大于1表示增加亮度,小于1表示减少亮度
enhancer = ImageEnhance.Brightness(gray_im)
brighter_im = enhancer.enhance(1.5) # 增加50%的亮度
# 显示图像
brighter_im.show()
# 保存图像
brighter_im.save("brighter_gray_image.jpg")
三 总结
-
图像类型:
- JPEG, PNG, BMP, GIF等。
-
图像模式:
- "L":灰度图像。
- "RGB":彩色图像。
- "RGBA":带有透明度的彩色图像。
-
图像操作:
- 旋转:
im.rotate(45)
- 翻转:
im.transpose(method)
- 裁剪:
im.crop((left, upper, right, lower))
- 调整大小:
im.resize((width, height))
- 转换图像模式:
im.convert("L")
- 旋转:
-
图像增强:
- 亮度:
ImageEnhance.Brightness(im).enhance(factor)
- 对比度:
ImageEnhance.Contrast(im).enhance(factor)
- 锐度:
ImageEnhance.Sharpness(im).enhance(factor)
- 亮度:
-
图像过滤:
- 模糊:
im.filter(ImageFilter.BLUR)
- 边缘检测:
im.filter(ImageFilter.FIND_EDGES)
- 模糊:
对于大型图像或批量处理,Pillow可能不是最高效的选择。在这种情况下,可以考虑使用NumPy数组操作或OpenCV等库。使用Pillow库时,你可以轻松地进行图像的基本处理和复杂的操作,这使得它成为Python图像处理的首选库之一。