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


Posted in Python onFebruary 26, 2020

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如下:

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

图像im_5如下:

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

图像im_8如下:

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

图像im_20如下:

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

三、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如下:

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

图像im_5如下:

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

图像im_8如下:

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

图像im_20如下:

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

四、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如下:

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

图像im_5如下:

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

图像im_8如下:

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

图像im_20如下:

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

五、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如下:

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

图像im_20如下:

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

图像im_30如下:

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

六、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 相关文章推荐
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
python实现根据月份和日期得到星座的方法
Mar 27 Python
python访问类中docstring注释的实现方法
May 04 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
Python多进程fork()函数详解
Feb 22 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
pytorch中tensor张量数据类型的转化方式
Dec 31 Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Python的Tqdm模块实现进度条配置
Feb 24 Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
May 12 Python
Anaconda安装pytorch和paddle的方法步骤
Apr 03 Python
Python基础之字符串常见操作经典实例详解
Feb 26 #Python
浅析python表达式4+0.5值的数据类型
Feb 26 #Python
Pandas时间序列基础详解(转换,索引,切片)
Feb 26 #Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 #Python
Python利用FFT进行简单滤波的实现
Feb 26 #Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 #Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 #Python
You might like
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
python实现sublime3的less编译插件示例
2014/04/27 Python
Python多线程编程简单介绍
2015/04/13 Python
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
pyqt5中动画的使用详解
2020/04/01 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
python中append函数用法讲解
2020/12/11 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
关于爱国的标语
2014/06/24 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
晚会开场白和结束语
2015/05/29 职场文书
小学运动会开幕词
2016/03/04 职场文书
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android