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使用CMD模块更优雅的运行脚本
May 11 Python
Python实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
Python实现的基数排序算法原理与用法实例分析
Nov 23 Python
python实现redis三种cas事务操作
Dec 19 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
python使用PIL剪切和拼接图片
Mar 23 Python
基于python SMTP实现自动发送邮件教程解析
Jun 02 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 Python
Python实现石头剪刀布游戏
Jan 20 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字符串word末字符实现大小写互换的方法
2014/11/10 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
NumPy统计函数的实现方法
2020/01/21 Python
HTML5学习笔记之History API
2015/02/26 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
寒假思想汇报
2014/01/10 职场文书
《自然之道》教学反思
2014/02/11 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers