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

举报
霍格沃兹测试开发 发表于 2023/03/05 10:23:19 2023/03/05
【摘要】 前言之前我们介绍了pillow的Image类的基础用法,讲解了打开图片,保存图片,翻转图片的一些方法,但是我们答应朋友的修图并没有介绍,这篇文章我们主要就来介绍一下pillow的修图功能。 模块选用工具毫无疑问还是我们之前介绍过的pillow模块,只不过我们要导入的类不只是Image类,专门用于增强图像的ImageEnhance类也需要导入,该模块可以增强(或减弱)图像的亮度、对比度、色度...

前言

之前我们介绍了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模块增强图片效果的方法,我们可以使用增强亮度,增强色度以及增强对比度的方法来增强我们图片的效果,这几个方法可以替代一些美颜滤镜的功能,希望能够帮到我在内的部分单身狗。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。