📅  最后修改于: 2023-12-03 14:46:02.470000             🧑  作者: Mango
Pillow是Python Image Library(PIL)的一个分支,是Python中最常用的图像处理工具之一。它支持广泛的图像文件格式,并提供了各种强大的图像处理功能,如缩放、裁剪、滤波、旋转、转换颜色空间等。
在使用Pillow之前,需要先安装它。可以使用以下命令在终端中安装Pillow:
pip install Pillow
加载图像是Pillow中的基本操作之一。可以使用以下代码在Python中加载图像:
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 显示图像
img.show()
Pillow支持多种图像文件格式,如JPEG、PNG、BMP、GIF和TIFF等。可以通过文件名或文件对象来打开图像文件。
在Python中,Image对象是表示图像的常用类。可以使用Image类中的各种方法来处理图像。
在Pillow中,可以使用resize()方法来调整图像的大小。以下代码演示了如何将图像调整为指定的大小:
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 调整图像大小为300x300像素
img_resized = img.resize((300, 300))
# 显示调整后的图像
img_resized.show()
resize()方法接受一个元组参数,用于指定新图像的大小。
在Pillow中,可以使用crop()方法来裁剪图像。以下代码演示了如何从图像左上角开始裁剪一个100x100像素的矩形区域:
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 裁剪图像
img_cropped = img.crop((0, 0, 100, 100))
# 显示裁剪后的图像
img_cropped.show()
crop()方法接受一个元组参数,用于指定裁剪区域的左、上、右、下边界。
在Pillow中,可以使用rotate()方法来旋转图像。以下代码演示了如何将图像逆时针旋转45度:
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 旋转图像
img_rotated = img.rotate(45)
# 显示旋转后的图像
img_rotated.show()
rotate()方法接受一个角度参数,用于指定旋转角度。
在Pillow中,可以使用convert()方法来转换图像的颜色空间。以下代码演示了如何将图像从RGB颜色空间转换为灰度颜色空间:
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 转换图像颜色空间为灰度
img_gray = img.convert('L')
# 显示转换后的图像
img_gray.show()
convert()方法接受一个字符串参数,用于指定目标颜色空间。例如,'L'表示灰度颜色空间,'RGB'表示RGB颜色空间。
在Pillow中,可以使用各种滤波器来处理图像。以下代码演示了如何将图像应用高斯模糊滤波器:
from PIL import Image, ImageFilter
# 打开图像文件
img = Image.open('image.jpg')
# 应用高斯模糊滤波器
img_blurred = img.filter(ImageFilter.GaussianBlur(5))
# 显示处理后的图像
img_blurred.show()
filter()方法接受一个滤波器对象作为参数,用于指定要应用的滤波器。可以使用ImageFilter类中的各种滤波器来创建滤波器对象。
这只是Pillow中可用的滤波器之一。还有许多其他滤波器,如锐化、边缘增强、浮雕等。
处理完图像后,可以使用save()方法将其保存到磁盘上的文件中。以下代码演示了如何将图像保存为JPEG文件:
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 处理图像...
# 保存图像为JPEG文件
img.save('image_processed.jpg', 'JPEG')
save()方法接受文件名和文件格式作为参数。可以使用各种图像文件格式(如JPEG、PNG、BMP和TIFF)保存图像。