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 相关文章推荐
详解Python的Django框架中的通用视图
May 04 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
Python 数据结构之旋转链表
Feb 25 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
Flask框架Jinjia模板常用语法总结
Jul 19 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
python opencv摄像头的简单应用
Jun 06 Python
Python3安装pip工具的详细步骤
Oct 14 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
用Python简陋模拟n阶魔方
Apr 17 Python
使用python生成大量数据写入es数据库并查询操作(2)
Sep 23 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
php命令行使用方法和命令行参数说明
2014/04/08 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
对xmlHttp对象的理解
2011/01/17 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
浅谈javascript如何获取文件后缀名
2020/08/07 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
Python如何定义一个函数
2015/09/01 面试题
公司财务工作总结的自我评价
2013/11/23 职场文书
20岁生日感言
2014/01/13 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server