Python图像处理库PIL的ImageEnhance模块使用介绍

所属分类: 脚本专栏 / python 阅读数: 1855
收藏 0 赞 0 分享

ImageEnhance模块提供了一些用于图像增强的类。

一、ImageEnhance模块的接口

所有的增强类都实现了一个通用的接口,包括一个方法:

enhancer.enhance(factor) ⇒ image

该方法返回一个增强过的图像。变量factor是一个浮点数,控制图像的增强程度。变量factor为1将返回原始图像的拷贝;factor值越小,颜色越少(亮度,对比度等),更多的价值。对变量facotr没有限制。

二、ImageEnhance模块的Color类

颜色增强类用于调整图像的颜色均衡,在某种程度上类似控制彩色电视机。该类实现的增强接口如下:

ImageEnhance.Color(image) ⇒ Color enhancer instance

创建一个增强对象,以调整图像的颜色。增强因子为0.0将产生黑白图像;为1.0将给出原始图像。

ImageEnhance.Color类的实例:

>>> from PIL import Image, ImageEnhance

>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")

>>> im_1 = ImageEnhance.Color(im02).enhance(0.1)

>>> im_5 = ImageEnhance.Color(im02).enhance(0.5)

>>> im_8 =ImageEnhance.Color(im02).enhance(0.8)

>>> im_20 = ImageEnhance.Color(im02).enhance(2.0)

从前面的介绍,我们可以得知函数enhance()的参数factor决定着图像的颜色饱和度情况。从0.1到0.5,再到0.8,2.0,图像的颜色饱和度依次增大。

图像im_1如下:

                             

图像im_5如下:

图像im_8如下:

图像im_20如下:

三、ImageEnhance模块的Brightness类

亮度增强类用于调整图像的亮度。

ImageEnhance.Brightness(image)⇒ Brightnessenhancer instance

创建一个调整图像亮度的增强对象。增强因子为0.0将产生黑色图像;为1.0将保持原始图像。

ImageEnhance.Brightness类的实例:

>>> from PIL import Image, ImageEnhance

>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")

>>> im_2 = ImageEnhance.Brightness(im02).enhance(0.2)

>>> im_5 = ImageEnhance.Brightness(im02).enhance(0.5)

>>> im_8 =ImageEnhance.Brightness (im02).enhance(0.8)

>>> im_20 =ImageEnhance.Brightness (im02).enhance(2.0)

该函数enhance()的参数factor决定着图像的亮度情况。从0.1到0.5,再到0.8,2.0,图像的亮度依次增大。

图像im_2如下:

图像im_5如下:

图像im_8如下:

图像im_20如下:

四、ImageEnhance模块的Contrast类

对比度增强类用于调整图像的对比度。类似于调整彩色电视机的对比度。

ImageEnhance.Contrast(image)⇒ Contrast enhancer instance

创建一个调整图像对比度的增强对象。增强因子为0.0将产生纯灰色图像;为1.0将保持原始图像。

ImageEnhance.Contrast类的实例:

>>> from PIL import Image, ImageEnhance

>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")

>>> im_1 = ImageEnhance.Contrast(im02).enhance(0.1)

>>> im_5 = ImageEnhance.Contrast(im02).enhance(0.5)

>>> im_8 =ImageEnhance.Contrast (im02).enhance(0.8)

>>> im_20 =ImageEnhance.Contrast (im02).enhance(2.0)

该函数enhance()的参数factor决定着图像的对比度情况。从0.1到0.5,再到0.8,2.0,图像的对比度依次增大。

图像im_1如下:

图像im_5如下:

图像im_8如下:

图像im_20如下:

五、ImageEnhance模块的Sharpness类

锐度增强类用于调整图像的锐度。

ImageEnhance.Sharpness(image)⇒ Sharpness enhancer instance

创建一个调整图像锐度的增强对象。增强因子为0.0将产生模糊图像;为1.0将保持原始图像,为2.0将产生锐化过的图像。

ImageEnhance.Sharpness类的实例:

>>> from PIL import Image, ImageEnhance

>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")

>>> im_0 = ImageEnhance.Sharpness(im02).enhance(0.0)

>>> im_20 =ImageEnhance.Sharpness (im02).enhance(2.0)

>>> im_30 =ImageEnhance.Sharpness (im02).enhance(3.0)

该函数enhance()的参数factor决定着图像的锐度情况。从0.0到2.0,再到3.0,图像的锐度依次增大。

图像im_0如下:

图像im_20如下:

图像im_30如下:

六、ImageEnhance示例

#-*- coding: UTF-8 -*-  
 
from PIL import Image
from PIL import ImageEnhance
 
#原始图像
image = Image.open('lena.jpg')
image.show()
 
#亮度增强
enh_bri = ImageEnhance.Brightness(image)
brightness = 1.5
image_brightened = enh_bri.enhance(brightness)
image_brightened.show()
 
#色度增强
enh_col = ImageEnhance.Color(image)
color = 1.5
image_colored = enh_col.enhance(color)
image_colored.show()
 
#对比度增强
enh_con = ImageEnhance.Contrast(image)
contrast = 1.5
image_contrasted = enh_con.enhance(contrast)
image_contrasted.show()
 
#锐度增强
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 3.0
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()

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

更多精彩内容其他人还在看

Python实现按学生年龄排序的实际问题详解

这篇文章主要给大家介绍了关于Python实现按学生年龄排序实际问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

Python开发的HTTP库requests详解

Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。Requests的哲学是以PEP 20 的习语为中心开发的,所以它比urllib更加P
收藏 0 赞 0 分享

Python网络爬虫与信息提取(实例讲解)

下面小编就为大家带来一篇Python网络爬虫与信息提取(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

在python3环境下的Django中使用MySQL数据库的实例

下面小编就为大家带来一篇在python3环境下的Django中使用MySQL数据库的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python 3.x读写csv文件中数字的方法示例

在我们日常开发中经常需要对csv文件进行读写,下面这篇文章主要给大家介绍了关于Python 3.x读写csv文件中数字的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

Python实现解析Bit Torrent种子文件内容的方法

这篇文章主要介绍了Python实现解析Bit Torrent种子文件内容的方法,结合实例形式分析了Python针对Torrent文件的读取与解析相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现文件内容批量追加的方法示例

这篇文章主要介绍了Python实现文件内容批量追加的方法,结合实例形式分析了Python文件的读写相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python简单实现自动删除目录下空文件夹的方法

这篇文章主要介绍了Python简单实现自动删除目录下空文件夹的方法,涉及Python针对文件与目录的读取、判断、删除等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

简单学习Python多进程Multiprocessing

这篇文章主要和大家一起简单的学习Python多进程Multiprocessing ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Python导入模块时遇到的错误分析

这篇文章主要给大家详细解释了在Python处理导入模块的时候出现错误以及具体的情况分析,非常的详尽,有需要的小伙伴可以参考下
收藏 0 赞 0 分享
查看更多