VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python的图像处理库Pillow安装与使用教程

前言
在Python中,Pillow库是一个非常强大的图像处理库。它提供了广泛的图像处理功能,让我们可以轻松地操作图像,实现图像的转换、裁剪、缩放、旋转等操作。此外,Pillow还支持多种图像格式的读取和保存,包括JPEG、PNG、BMP、GIF等。

安装Pillow
首先,我们需要安装Pillow库。在终端或命令行中输入以下命令来安装Pillow:

pip install pillow
如果您的环境中已经安装了PIL库,那么可以通过以下命令来升级到最新版本的Pillow:

pip install pillow --upgrade

Pillow库的主要模块和类
Pillow库的主要模块包括Image、ImageColor、ImageDraw、ImageFont、ImageFilter等。每个模块都提供了相应的类和方法来处理图像。

Image模块提供了打开、操作和保存图像的方法。它包含了所有需要的图像操作函数。
ImageColor模块提供了用于操作RGB颜色空间的方法。
ImageDraw模块提供了用于在图像上绘制各种形状和文本的方法。
ImageFont模块提供了用于设置字体和字体大小的方法。
ImageFilter模块提供了一些用于对图像进行滤波处理的方法。
下面我们将通过代码示例来演示如何使用Pillow库进行图像处理。

打开和显示图像
首先,我们可以使用Image.open()方法打开一张图像,并使用Image.show()方法来显示图像。

from PIL import Image  
   
# 打开图像  
img = Image.open('example.jpg')  
   
# 显示图像  
img.show()

在这个例子中,我们使用Image.open()方法打开名为example.jpg的图像文件,并将其保存到img变量中。然后,我们使用img.show()方法来显示这个图像。

图像的转换和调整
Pillow库提供了多种用于转换和调整图像的方法。下面是一些常用的方法:

Image.resize(size)方法用于调整图像的大小。
Image.rotate(angle, expand=True)方法用于旋转图像。
Image.transpose(method)方法用于翻转或旋转图像。
Image.convert(mode='RGB')方法用于将图像转换为RGB模式。
Image.adjust(brightness=0, contrast=0, saturation=0, hue=0)方法用于调整图像的亮度、对比度、饱和度和色调。

from PIL import Image, ImageOps, ImageFilter, ImageEnhance  
   
# 打开图像  
img = Image.open('example.jpg')  
   
# 调整图像大小  
img_resized = img.resize((300, 300))  
   
# 旋转图像  
img_rotated = img.rotate(45)  
   
# 翻转图像  
img_flipped = img.transpose(Image.FLIP_LEFT_RIGHT)  
   
# 调整亮度对比度和饱和度  
enhancer = ImageEnhance.Brightness(img)  
img_brightened = enhancer.enhance(1.5)  # 提高亮度50%  
enhancer = ImageEnhance.Contrast(img)  
img_contrasted = enhancer.enhance(1.5)  # 提高对比度50%  
enhancer = ImageEnhance.Color(img)  
img_colored = enhancer.enhance(1.5)  # 提高饱和度50%  
   
# 显示结果  
img_resized.show()  
img_rotated.show()  
img_flipped.show()  
img_brightened.show()  
img_contrasted.show()  
img_colored.show()

在这个例子中,我们首先使用Image.open()方法打开名为example.jpg的图像文件,并将其保存到img变量中。然后,我们使用Image.resize()方法调整图像的大小,使用Image.rotate()方法旋转图像,使用Image.transpose()方法翻转或旋转图像,使用ImageEnhance模块的Brightness()、Contrast()和Color()方法分别调整图像的亮度、对比度和饱和度。最后,我们使用img_xxx.show()方法来显示每个处理后的图像。

补充:Pillow库还提供哪些高级图像处理功能?
滤镜效果: 可以使用Pillow库中的ImageFilter模块来应用各种滤镜效果。例如,可以使用模糊滤镜(Blur)来让图像看起来更加柔和,使用增强边缘滤镜(Enhance)来增强图像的边缘。

示例代码:

from PIL import Image, ImageFilter
 
# 读取图像文件
image = Image.open("image.jpg")
 
# 应用模糊滤镜
blurred_image = image.filter(ImageFilter.BLUR)
 
# 应用增强边缘滤镜
edge_enhanced_image = image.filter(ImageFilter.EDGE_ENHANCE)
 
# 显示滤镜效果后的图像
blurred_image.show()
edge_enhanced_image.show()

图像合并: 使用Image.blend()函数可以将两个图像进行混合。该函数需要传递两个图像以及一个混合系数作为参数。

示例代码:

from PIL import Image
 
# 读取第一个图像文件
image1 = Image.open("image1.jpg")
 
# 读取第二个图像文件
image2 = Image.open("image2.jpg")
 
# 设置混合系数为0.5,即两个图像的混合比例为50%
blended_image = Image.blend(image1, image2, 0.5)
 
# 显示混合后的图像
blended_image.show()

颜色调整: 使用Pillow库中的ImageEnhance模块可以对图像的颜色进行调整。例如,可以使用亮度调整(Brightness)函数来增加或降低图像的亮度,使用对比度调整(Contrast)函数来增加或降低图像的对比度。

示例代码:

from PIL import ImageEnhance
 
# 读取图像文件
image = Image.open("image.jpg")
 
# 创建亮度调整器
brightness_enhancer = ImageEnhance.Brightness(image)
 
# 增加图像亮度
brightened_image = brightness_enhancer.enhance(1.5)  # 1.5为增加的倍数
 
# 创建对比度调整器
contrast_enhancer = ImageEnhance.Contrast(image)
 
# 增加图像对比度
contrasted_image = contrast_enhancer.enhance(1.2)  # 1.2为增加的倍数
 
# 显示调整后的图像
brightened_image.show()
contrasted_image.show()

这些功能可以帮助你在图像处理中实现滤镜效果、图像合并以及颜色调整。根据需要选择相应的函数并调整参数。

总结
到此这篇关于Python图像处理库Pillow安装与使用的文章就介绍到这了,更多相关Python图像处理库Pillow内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://blog.csdn.net/qq_72290695/article/details/132571808


相关教程