Python Imaging Library (PIL) 全面指南:PIL基础入门-Python图像处理实战
PIL图像处理
学习目标
通过本课程,学员将掌握PIL(Python Imaging Library)的基本使用方法,了解如何利用PIL进行图像的加载、显示、保存以及基本的图像处理操作。帮助学员理解PIL在图像处理中的强大功能,以及它为何成为Python中处理图像的首选库之一。
相关知识点
- PIL图像处理
学习内容
1 PIL图像处理
PIL,全称Python Imaging Library,是一个用于处理图像的Python库。它提供了广泛的文件格式支持,以及强大的图像处理能力。PIL最初由Fredrik Lundh开发,后来由Python Imaging Library开发团队维护。随着时间的发展,PIL的维护逐渐停止,社区推出了Pillow,这是一个PIL的分支,增加了对更多图像格式的支持,并修复了PIL中的一些bug。因此,现在提到PIL,通常指的是Pillow。
1.1 安装Pillow
安装Pillow非常简单,可以通过pip命令直接安装:
%pip install pillow
1.2 基本使用
安装完成后,使用wget方式进行图片的下载,下载完成后可以通过以下代码来加载一张图片:
!wget --no-check-certificate https://model-community-picture.obs.cn-north-4.myhuaweicloud.com/ascend-zone/notebook_datasets/f11284f42ed511f0a34cfa163edcddae/example.png
from PIL import Image# 加载图片
img = Image.open('test.jpg')
# 显示图片
img.show()
这段代码首先从PIL库中导入了Image
模块,然后使用Image.open()
函数加载了一张名为example.png
的图片,并通过img.show()
方法显示了这张图片。
1.3 图像的基本操作:加载、显示与保存
在图像处理中,加载、显示和保存是最基本的操作。PIL提供了简单易用的接口来完成这些操作。
1.3.1 加载图像
加载图像是使用PIL进行图像处理的第一步。我们可以通过Image.open()
函数来加载图像文件。这个函数接受一个文件路径作为参数,返回一个Image
对象。
from PIL import Image# 加载图像
img = Image.open('test.jpg')
1.3.2 显示图像
显示图像是指将图像显示在屏幕上。PIL的Image
对象有一个show()
方法,可以用来显示图像。
# 显示图像
img.show()
显示和上图一样。
1.3.3 保存图像
保存图像是指将处理后的图像保存到文件中。PIL的Image
对象有一个save()
方法,可以用来保存图像。这个方法接受一个文件路径作为参数,还可以接受一个可选的格式参数。
# 保存图像
img.save('testoutput.png', 'PNG')
1.4 图像处理:裁剪、缩放与旋转
PIL不仅支持图像的基本操作,还提供了丰富的图像处理功能,如裁剪、缩放和旋转等。
1.4.1 裁剪图像
裁剪图像是指从原图中提取出一个矩形区域。PIL的Image
对象有一个crop()
方法,可以用来裁剪图像。这个方法接受一个四元组作为参数,表示裁剪区域的左上角和右下角坐标。
# 裁剪图像
cropped_img = img.crop((50, 50, 200, 200))
cropped_img.show()
1.4.2 缩放图像
缩放图像是指改变图像的大小。PIL的Image
对象有一个resize()
方法,可以用来缩放图像。这个方法接受一个元组作为参数,表示新的宽度和高度。
# 缩放图像
resized_img = img.resize((300, 300))
resized_img.show()
1.4.3 旋转图像
旋转图像是指将图像旋转一定的角度。PIL的Image
对象有一个rotate()
方法,可以用来旋转图像。这个方法接受一个角度作为参数,表示旋转的角度。
# 旋转图像
rotated_img = img.rotate(90)
rotated_img.show()