讲师中心 微信公众号
AI工具推荐 视频效率加速

Python图像处理入门:Pillow库

星丽小哥_3374

星丽小哥_3374

发布时间:2025-06-29 21:00:06

|

737人浏览过

|

来源于php中文网

原创

pillow 是 python 中常用的图像处理库,适合实现裁剪、缩放、旋转等基础操作。安装使用 pip install pillow 并导入 image 类即可开始操作,常见问题包括路径错误和格式不支持。主要功能包括 resize() 调整尺寸、crop() 裁剪区域、rotate() 旋转图像、transpose() 翻转图像。颜色转换可通过 convert() 方法实现,如转灰度图或去除透明通道。添加水印或文字需使用 imagedraw 和 imagefont 模块,通过 draw.text() 绘制文字并指定字体、颜色和位置。 pillow 功能全面且易于上手,适合日常图像处理需求。

Python图像处理入门:Pillow库

Pillow 是 Python 中最常用的图像处理库之一,功能强大又简单易用。如果你刚开始接触图像处理,或者只是想快速实现一些基本操作,比如裁剪、缩放、旋转图片,Pillow 基本都能满足你的需求。

Python图像处理入门:Pillow库

安装与基本使用

在使用 Pillow 之前,首先要确保它已经安装好了。可以通过 pip 安装:

Python图像处理入门:Pillow库
pip install pillow

安装完成后,导入 PIL 模块中的 Image 类,就可以开始操作图像了。比如打开一张图片只需要这样:

立即学习Python免费学习笔记(深入)”;

from PIL import Image
img = Image.open('example.jpg')

如果路径没问题,这段代码就会加载图片文件。你可以调用 .show() 方法预览图片,或者用 .save() 把修改后的图片保存下来。

Python图像处理入门:Pillow库

常见问题:

  • 文件路径写错会导致无法打开图片
  • 不支持的格式也会报错,Pillow 支持常见的 JPEG、PNG、GIF 等格式,但不包括某些专业格式如 PSD

图像的基本操作

Pillow 提供了一些非常实用的基础图像处理方法,适合日常使用。以下是一些最常见的操作:

  • 调整尺寸:使用 resize() 方法可以改变图像大小,参数是一个包含宽高的元组。
  • 裁剪图像:用 crop() 方法传入一个四元组(左、上、右、下)来指定裁剪区域。
  • 旋转图像:调用 rotate(angle) 可以按指定角度旋转图片,默认是逆时针方向。
  • 翻转图像transpose(Image.FLIP_LEFT_RIGHT)transpose(Image.FLIP_TOP_BOTTOM) 可以左右或上下翻转。

举个例子,如果你想把一张图缩小一半并保存:

resized_img = img.resize((img.width // 2, img.height // 2))
resized_img.save('resized_example.jpg')

这些操作都很直观,关键是理解每个函数的参数含义和使用方式。

Python数据分析(免费版)
Python数据分析(免费版)

提供Python数据清洗、统计分析与可视化建议,覆盖业务报表与科研数据的快速处理流程。

下载

图像模式与颜色转换

Pillow 支持多种图像模式,比如 RGB(彩色)、L(灰度)、RGBA(带透明通道)等。有时候你需要将图像转换成特定模式才能进行后续处理。

比如将图片转为黑白(灰度):

gray_img = img.convert('L')
gray_img.save('gray_example.jpg')

这个操作常用于图像识别前的预处理。还有一种情况是 PNG 图片带有透明通道(RGBA),而你希望去掉透明背景,可以转成 RGB:

if img.mode == 'RGBA':
    img = img.convert('RGB')

这部分操作虽然不是特别复杂,但容易被忽略,尤其是处理不同来源的图片时。


添加水印和叠加文字

给图片加水印或文字也是常见的需求。Pillow 的 ImageDrawImageFont 模块可以实现这些功能。

基本步骤如下:

  1. 创建绘图对象 draw = ImageDraw.Draw(img)
  2. 准备字体 font = ImageFont.truetype("arial.ttf", size=36)
  3. 使用 draw.text() 在指定位置绘制文字

示例代码:

from PIL import ImageDraw, ImageFont

draw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", 36)
draw.text((10, 10), "Sample Watermark", fill=(255,255,255), font=font)
img.save('watermarked.jpg')

注意几点:

  • 如果没有指定字体,系统可能会默认使用一种基础字体,效果可能不太好
  • 文字颜色要用三元组表示(R, G, B)
  • 位置坐标是从左上角开始的像素值

基本上就这些内容了。Pillow 虽然是一个入门级的图像处理工具,但它的功能已经足够应对大多数日常任务。对于更复杂的图像处理,比如滤波、边缘检测等,可以结合 NumPy 或 OpenCV 使用。不过对新手来说,先掌握 Pillow 是个不错的选择。

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

2370

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

5483

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

7002

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

3347

2025.07.23

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

0

2026.09.22

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

20

2026.09.21

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

20

2026.09.21

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

0

2026.09.21

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

0

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn