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中import学习备忘笔记
Jan 24 Python
Python装饰器用法实例总结
Feb 07 Python
python如何修改装饰器中参数
Mar 20 Python
python docx 中文字体设置的操作方法
May 08 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
python3.5绘制随机漫步图
Aug 27 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 Python
Python+PyQT5的子线程更新UI界面的实例
Jun 14 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
把vgg-face.mat权重迁移到pytorch模型示例
Dec 27 Python
TensorFlow2.0使用keras训练模型的实现
Feb 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
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
js类中的公有变量和私有变量
2008/07/24 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
Python中subprocess模块用法实例详解
2015/05/20 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python实现狄克斯特拉算法
2019/01/17 Python
python实现学生管理系统开发
2020/07/24 Python
python中如何打包用户自定义模块
2020/09/23 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
大学同学聚会邀请函
2014/01/29 职场文书
党员自评材料范文
2014/12/17 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL