Python Pillow库实现常见图片处理功能指南

白榆
白榆
发布时间:2026-10-14| 4人浏览过
原创

本文介绍如何使用Python的Pillow库进行基础图片处理。涵盖安装方法,以及打开、格式转换、显示、裁剪、合并、生成缩略图、旋转和添加滤镜等核心操作,还包括使用ImageDraw进行绘图和文字标注的二次创作技巧。

作者:豆豆

来源:Python 技术「ID: pythonall」

在日常工作和生活中,经常需要处理简单的图片。许多人习惯依赖Photoshop、美图秀秀等软件,但实际上,Python已经能够高效完成这些任务。掌握Python图像处理,能让工作更加便捷高效。

安装

首先,通过pip命令将Pillow库安装到本地环境中。


pip install Pillow

基本操作

打开图像

利用Image类可以操控图片,例如打开一张图片并查看其基本信息。


from PIL import Image, ImageFilter, ImageEnhance, ImageDraw, ImageFont
img = Image.open('cat.png')
print(F'图片大小为 {img.format}, 格式为 {img.size}, 模式为{img.mode}')
 
# 图片大小为 JPEG, 格式为 (3458, 3456), 模式为 RGB

转换格式

若需更改图片格式,可使用save函数执行保存操作。


img.save("cat.png ")

执行后,当前目录下将生成一张扩展名为png的图片文件。

展示图片

直接调用show函数即可在屏幕上显示图片。


img.show()

剪裁

使用crop函数,并传入包含四个坐标值的元组,即可对图片进行裁剪。


point = (1500, 800, 3000, 2300)
img_crop = img.crop(point)
img_crop.show()

合并

通过paste函数,传入目标图像及坐标参数,可实现两张图片的合并。如需合并多张图片,只需多次调用该函数即可。


img.paste(img_crop, (0, 0), None)
img.show(

缩略图

当图片尺寸过大时,生成缩略图十分必要。可通过thumbnail函数,指定size参数来实现图片缩小。


thumb_size = (345, 345)
img.thumbnail(thumb_size)
img.show()

旋转

使用transpose函数,传入旋转角度参数,可实现图片的翻转效果。

该函数支持以下参数选项:

Image.ROTATE_90:逆时针旋转90度

Image.ROTATE_180:逆时针旋转180度

Image.ROTATE_270:逆时针旋转270度

Image.FLIP_LEFT_RIGHT:左右翻转

Image.FLIP_TOP_BOTTOM:上下翻转


img_rotate = img.transpose(Image.ROTATE_90)
img_rotate.show()

滤镜

此外,还可以对图片应用各种滤镜效果。

  • 高斯模糊处理

img_gaussianblur = img.filter(ImageFilter.GaussianBlur(30))
img_gaussianblur.show()

  • 获取照片轮廓

img_contour = img.filter(ImageFilter.CONTOUR)
img_contour.show()

  • 亮度增强

若照片亮度不足,可通过调整参数进行亮度增强处理。


color = ImageEnhance.Color(img)
img_color = color.enhance(1.5)
img_color.show()

二次创作

若需对图片进行二次创作,例如添加辅助线或文字,可使用ImageDraw类完成。

画线


draw = ImageDraw.Draw(img)
draw.line((0, 0) + img.size, fill=20, width=3)
draw.line((0, img.size[1], img.size[0], 0), fill=200, width=3)
img.show()

文字


draw = ImageDraw.Draw(img)
font = ImageFont.truetype('AliPuHui-Bold.ttf', 200)
text = 'This is a cat!'
draw.text((450, 450), text, font=font, fill='pink')
img.show()

如需添加多行文字,直接插入换行符\n即可实现。

总结

本文介绍了如何使用Pillow库对图片进行基础操作。实际上,Pillow库功能远不止于此,将这些基础操作组合使用,甚至可以制作个性化的表情包。期待读者探索更多有趣的应用方式。

以上就是Python图片处理库Pillow实现简单PS功能的详细内容,更多关于Pillow库实现简单PS的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。