Python图像处理库PIL/Pillow入门指南
核心要点
- Python图像处理库(PIL)是一个免费工具,它为Python解释器添加了图像处理功能,支持各种图像文件格式,并提供标准的图像处理程序,例如基于像素的操作、滤镜、图像增强等等。
- 尽管PIL的最后一个版本(1.1.7)发布于2009年,并且只支持Python 1.5.2-2.7,但名为Pillow的项目已经fork了PIL的代码库并添加了Python 3.x的支持,使其成为大多数Python用户可行的选择。
- 使用PIL或Pillow,您可以轻松执行诸如读取图像、将图像转换为灰度或其他类型、调整图像大小以及保存图像等任务。该库的全面文档提供了更多详细信息和教程。
在之前的关于Python技巧的文章中,我提到过Python是一种能够激发用户热爱的语言。
原因之一是这种语言提供了大量的节省时间的库。一个很好的例子是Python图像处理库(PIL),本文将重点介绍它。
PIL能做什么
PIL是一个免费的库,它为Python解释器添加了图像处理功能,支持多种图像文件格式,例如PPM、PNG、JPEG、GIF、TIFF和BMP。
PIL提供了许多标准的图像处理/操作程序,例如:
- 基于像素的操作
- 遮罩和透明度处理
- 滤镜(例如,模糊、轮廓、平滑、边缘检测)
- 图像增强(例如,锐化、亮度调整、对比度)
- 几何、颜色和其他变换
- 向图像添加文本
- 剪切、粘贴和合并图像
- 创建缩略图
PIL和Pillow
PIL的一个问题是,其最新的版本1.1.7发布于2009年,并且只支持Python 1.5.2-2.7。尽管PIL网站承诺即将推出Python 3.x的版本,但其最后一次提交是在2011年,并且开发似乎已经停止。
幸运的是,对于Python 3.x用户来说,并非一切都已结束。一个名为Pillow的项目已经fork了PIL的代码库并添加了Python 3.x的支持。鉴于大多数读者可能都在使用Python 3.x,因此本文将重点介绍Pillow更新。
安装Pillow
由于Pillow支持从Python 2.4到最新版本的Python,我将只关注Pillow的安装,而不是旧版本的PIL。
在Mac上使用Python
我目前正在Mac OS X Yosemite 10.10.5上编写本教程,因此将描述如何在Mac OS X机器上安装Pillow。但是,不用担心,我将在本节末尾提供一个链接,其中描述了如何在其他操作系统上安装Pillow。
我只想在这里指出,Mac OS X预装了Python。但是,该版本很可能早于3.x。
例如,在我的机器上,当我运行$ python --version
终端命令时,我得到的是Python 2.7.10。
Python和pip
安装Pillow的一种非常简单的方法是通过pip。
如果您的机器上没有安装pip,只需在终端中输入以下命令即可完成:
$ sudo easy_install pip
现在,要安装Pillow,只需在终端中输入以下内容:
$ sudo pip install pillow
这很容易,不是吗?
正如我承诺的那样,有关在其他操作系统上安装Pillow的信息,您可以在这里找到相关说明。
一些例子
在本节中,我将演示一些我们可以使用PIL完成的简单操作。
我将对以下图像执行这些测试:
如果您想按照这些示例操作,请下载此图像。
读取图像
这是图像处理任务中最基本的操作,因为要处理图像,必须先读取它。使用PIL,这可以很容易地完成,如下所示:
from PIL import Image img = Image.open('brick-house.png')
请注意,这里的img是一个PIL图像对象,由open()函数创建,该函数是PIL Image模块的一部分。
您还可以读取已打开的文件、字符串或tar存档。
将图像转换为灰度、显示并保存
文件brick-house.png是一个彩色图像。要将其转换为灰度、显示它,然后保存新的灰度图像,您可以简单地执行以下操作:
from PIL import Image img = Image.open('brick-house.png').convert('L') img.show() img.save('brick-house-gs','png')
请注意,我们使用了三个主要函数来执行此操作:convert()、show()和save()。由于我们要转换为灰度图像,因此在convert()中使用了参数'L'。
以下是生成的图像:
转换为其他图像类型
我们正在处理的图像是png类型。假设您想将其转换为其他图像类型,例如jpg。可以使用save()函数(如上小节中用于保存结果(将输出写入磁盘)的函数)来执行此操作:
from PIL import Image img = Image.open('brick-house.png') img.save('brick-image','jpeg')
调整图像大小
我们原始图像的大小(尺寸)是440 x 600像素。如果我们想调整它的大小,并使其大小为256 x 256像素,则可以执行以下操作:
from PIL import Image img = Image.open('brick-house.png') new_img = img.resize((256,256)) new_img.save('brick-house-256x256','png')
这会生成一个新的正方形图像:
如您所见,这会将图像压缩到所需的尺寸,而不是裁剪它,这可能不是您想要的。当然,您也可以在保持适当纵横比的同时裁剪图像。
总结
这个快速入门仅旨在介绍PIL的表面,并演示如何通过PIL库在Python中轻松完成一些复杂的图像处理任务。
您可以使用此库执行的许多其他操作在全面的Pillow文档中进行了描述,您可以在其中阅读有关上述问题的更多详细信息以及方便的教程。
我希望这个介绍能激励您尝试使用Python进行图像处理。玩得开心!
Python图像处理库(PIL)常见问题解答(FAQ)
如何在我的系统上安装Python图像处理库(PIL)?
要安装Python图像处理库(PIL),您需要使用pip,它是Python的包管理器。打开您的终端或命令提示符并输入以下命令:pip install pillow
。'pillow'库是PIL的一个分支,并且正在积极维护,因此建议使用'pillow'而不是PIL。如果您安装了多个版本的Python,则可能需要对Python 3使用pip3 install pillow
。
如何使用PIL打开和显示图像?
要使用PIL打开和显示图像,您需要使用Image.open()
函数打开图像,并使用Image.show()
函数显示图像。这是一个示例:
$ sudo easy_install pip
在此代码中,'image.jpg'是您的图像文件的名称。确保图像文件与您的Python脚本位于同一目录中,或者提供图像文件的完整路径。
如何使用PIL调整图像大小?
要使用PIL调整图像大小,您可以使用Image.resize()
函数。此函数接受一个元组,该元组指定以像素为单位的新大小。这是一个示例:
$ sudo pip install pillow
在此代码中,图像大小调整为800×800像素。
(后续FAQ答案类似,略去,保持文章大意不变)
以上是使用Python成像库操纵图像的详细内容。更多信息请关注PHP中文网其他相关文章!

中国女性科技力量在AI领域的崛起:荣耀与DeepSeek合作背后的女性故事女性在科技领域的贡献日益显着。中国科技部数据显示,女性科技工作者数量庞大,在AI算法开发中展现出独特的社会价值敏感性。本文将聚焦荣耀手机,探究其率先接入DeepSeek大模型背后的女性团队力量,展现她们如何推动科技进步,重塑科技发展价值坐标系。 2024年2月8日,荣耀正式上线DeepSeek-R1满血版大模型,成为安卓阵营首家接入DeepSeek的厂商,引发用户热烈反响。这一成功背后,女性团队成员在产品决策、技术攻坚和用户

DeepSeek公司在知乎发布技术文章,详细介绍了其DeepSeek-V3/R1推理系统,并首次公开关键财务数据,引发业界关注。文章显示,该系统单日成本利润率高达545%,创下全球AI大模型盈利新高。DeepSeek的低成本策略使其在市场竞争中占据优势。其模型训练成本仅为同类产品的1%-5%,V3模型训练成本仅为557.6万美元,远低于竞争对手。同时,R1的API定价仅为OpenAIo3-mini的1/7至1/2。这些数据证明了DeepSeek技术路线的商业可行性,也为AI大模型的高效盈利树立了

网站建设只是第一步:SEO与反向链接的重要性 建立网站只是将其转化为宝贵营销资产的第一步。您需要进行SEO优化,以提高网站在搜索引擎中的可见度,吸引潜在客户。反向链接是提升网站排名的关键,它向谷歌和其他搜索引擎表明您的网站权威性和可信度。 并非所有反向链接都有利:识别并避免有害链接 并非所有反向链接都有益。有害链接会损害您的排名。优秀的免费反向链接检查工具可以监控链接到您网站的来源,并提醒您注意有害链接。此外,您还可以分析竞争对手的链接策略,从中学习借鉴。 免费反向链接检查工具:您的SEO情报员

美的即将发布搭载DeepSeek大模型的首款空调——美的鲜净感空气机T6,发布会定于3月1日下午1点30分举行。这款空调配备先进的空气智驾系统,可根据环境智能调节温度、湿度和风速等参数。更重要的是,它集成了DeepSeek大模型,支持超过40万条AI语音指令。美的此举引发业界热议,尤其关注白电产品与大模型结合的意义。不同于传统空调简单的温度设定,美的鲜净感空气机T6能够理解更复杂、更模糊的指令,并根据家庭环境智能调节湿度等,显着提升用户体验。

DeepSeek-R1赋能百度文库与网盘:深度思考与行动的完美融合短短一个月内,DeepSeek-R1已迅速融入众多平台。百度凭借大胆的战略布局,将DeepSeek作为第三方模型伙伴,整合进自身生态系统,这标志着其“大模型 搜索”生态战略的重大进展。百度搜索和文心智能体平台率先接入DeepSeek及文心大模型的深度搜索功能,为用户提供免费的AI搜索体验。同时,“百度一下,你就知道”的经典slogan回归,新版百度APP也整合了文心大模型和DeepSeek的能力,推出“AI搜索”、“全网信息提炼”

AI及时工程代码生成:开发人员指南 代码开发的景观有望进行重大转变。 掌握大型语言模型(LLM)和及时工程对于未来几年对开发人员至关重要。 Th

此基于GO的网络漏洞扫描仪有效地确定了潜在的安全弱点。 它利用了GO的并发功能的速度功能,包括服务检测和漏洞匹配。让我们探索它的能力和道德


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载
最流行的的开源编辑器

记事本++7.3.1
好用且免费的代码编辑器