zl程序教程

您现在的位置是:首页 >  后端

当前栏目

软件测试|Python神器pillow,从此拍照不再需要滤镜

Python 需要 神器 不再 软件测试 滤镜 拍照 从此
2023-06-13 09:15:30 时间

前言

之前我们介绍了pillow的Image类的基础用法,讲解了打开图片,保存图片,翻转图片的一些方法,但是我们答应朋友的修图并没有介绍,这篇文章我们主要就来介绍一下pillow的修图功能。

模块选用

工具毫无疑问还是我们之前介绍过的pillow模块,只不过我们要导入的类不只是Image类,专门用于增强图像的ImageEnhance类也需要导入,该模块可以增强(或减弱)图像的亮度、对比度、色度,还可以用于增强图像的锐度。

from PIL import Image,ImageEnhance

读取图片

读取图片的方法我们上篇文章介绍过了,我们先要找到我们要处理的照片,然后考虑从什么方面优化,所以直接上代码:

from PIL import Image,ImageEnhance

"读取图片"
image = Image.open('./data/scene1.jpg')
image.show()

读取图片如下所示(春节时候在家拍摄的照片,那是老家的新貌):

在这里插入图片描述

增强亮度

当图片较暗时,我们可以使用增强亮度的方法来增强图片亮度,使用ImageEnhance.Brightness()方法,代码如下:

from PIL import Image,ImageEnhance

"读取图片"
image = Image.open('./data/scene1.jpg')
# image.show()

"增强亮度"
bright_enh = ImageEnhance.Brightness(image)
#调整亮度值
brightness = 3
image_brightened = bright_enh.enhance(brightness)
image_brightened.show()

增强后图片效果如下:

在这里插入图片描述

增强色度

当我们需要给图片增强色度时,可以使用ImageEnhance.Color()方法来增强色度,代码如下:

from PIL import Image,ImageEnhance

"读取图片"

image = Image.open('./data/scene1.jpg')

"增强色度"

color_enh = ImageEnhance.Color(image)

#调整色度值

color = 3

image_colored = color_enh.enhance(color)

image_colored.show()

执行后,图片效果如下:

在这里插入图片描述

增强对比度

增强亮度和色度都还不够的话,我们可以增加一下照片的对比度,增强图片的效果。代码如下:

from PIL import Image,ImageEnhance

"读取图片"
image = Image.open('./data/scene1.jpg')
# image.show()

"增强对比度"
contrast_enh = ImageEnhance.Contrast(image)
#调整对比度
contrast = 3
image_contrasted = contrast_enh.enhance(contrast)
image_contrasted.show()

执行后,图片效果如下:

在这里插入图片描述

总结

本文主要介绍了pillow的ImageEnhance模块增强图片效果的方法,我们可以使用增强亮度,增强色度以及增强对比度的方法来增强我们图片的效果,这几个方法可以替代一些美颜滤镜的功能,希望能够帮到我在内的部分单身狗。