用Python的PIL库(Pillow)处理图像真的得心应手

简介: 用Python的PIL库(Pillow)处理图像真的得心应手

用Python的PIL库(Pillow)处理图像真的得心应手


Python Imaging Library(PIL)是Python中最流行的图像处理库之一,它提供了许多强大的功能,如图像缩放、剪裁、旋转、滤波等等。Pillow是其在Python 3之后的分支,提供了更好的兼容性和更多的功能。本篇文章将介绍如何使用Pillow处理图像,并提供多个实用例子。


安装Pillow


在使用Pillow之前,需要首先安装它。可以通过以下命令在终端中安装:


pip install Pillow


打开和保存图像


处理图像的第一步是打开它们。Pillow提供了Image.open()函数用于打开图像,该函数返回一个Image对象。可以通过调用该对象的方法来操作图像。例如,以下代码打开名为image.jpg的图像并显示其大小和格式:


from PIL import Image
img = Image.open("image.jpg")
print(img.size, img.format)

要保存图像,可以使用Image.save()函数。例如,以下代码将修改后的图像保存为名为output.jpg的文件:


from PIL import Image
img = Image.open("image.jpg")
# 图像处理...
img.save("output.jpg")


图像缩放


Pillow提供了Image.resize()函数用于缩放图像。以下代码将图像的大小缩小一半:


from PIL import Image
img = Image.open("image.jpg")
new_size = (img.size[0]//2, img.size[1]//2)
img = img.resize(new_size)
img.save("output.jpg")


图像剪裁


Pillow提供了Image.crop()函数用于剪裁图像。以下代码将图像剪裁为其左上角的1/4:


from PIL import Image
img = Image.open("image.jpg")
new_size = (img.size[0]//2, img.size[1]//2)
img = img.resize(new_size)
cropped_img = img.crop((0, 0, new_size[0]//2, new_size[1]//2))
cropped_img.save("output.jpg")


图像旋转


Pillow提供了Image.rotate()函数用于旋转图像。以下代码将图像逆时针旋转45度:


from PIL import Image
img = Image.open("image.jpg")
img = img.rotate(-45)
img.save("output.jpg")


图像滤波


Pillow提供了多种滤波器用于处理图像,如模糊、锐化、边缘检测等。以下代码将图像应用高斯模糊:


from PIL import Image
from PIL import ImageFilter
img = Image.open("image.jpg")
img = img.filter(ImageFilter.GaussianBlur(radius=2))
img.save("output.jpg")


以上是使用Pillow处理图像的一些例子,Pillow提供了更多的功能,如图像合并、调整亮度和对比度、转换图像格式等等。希望这篇文章可以帮助你更好地理解和使用Pillow库。


相关文章
|
16天前
|
XML JSON 数据库
Python的标准库
Python的标准库
141 77
|
23天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
129 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
17天前
|
XML JSON 数据库
Python的标准库
Python的标准库
45 11
|
17天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
60 8
|
25天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
34 4
|
算法 计算机视觉 Python
在python3下用PIL做图像处理
Python Imaging Library (PIL)是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能。 目前PIL的官方最新版本为1.1.7,支持的版本为python 2.5, 2.6, 2.7,并不支持python3,但有高手把它重新编译生成python3下可安装的exe了。
1889 0
|
23天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
22天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
10天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80