更新时间:2020年02月26日 10:33:40 作者:icamera0
这篇文章主要介绍了Python图像处理库PIL的ImageEnhance模块使用介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
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模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
-
-
-
pygame+opencv实现读取视频帧的方法示例
由于pygame.movie.Movie.play()只支持MPEG格式的视频,所以决定使用与opencv读取视频帧的画面,本文就详细的介绍了pygame+opencv实现读取视频帧,感兴趣的可以了解一下
2021-12-12
-
python如何实现一个刷网页小程序
这篇文章主要给大家介绍了关于利用python如何实现一个刷网页小程序的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2018-11-11
-
-
-
Opencv对象追踪的示例代码
这篇文章主要介绍了Opencv对象追踪的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2021-03-03
-
-
python中的时区问题
这篇文章主要介绍了python中的时区问题的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
2021-01-01
-
Python处理文本数据的方法详解
学习Python时,它总能让人深刻体会到这款语言的魅力。今天小编为大家带来一个有趣的项目,用Python处理文本数据,一起来看看今天的问题吧
2022-06-06
-
python 模块重载的五种方法
这篇文章主要介绍了python 模块重载的五种方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
2021-04-04