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 相关文章推荐
可用于监控 mysql Master Slave 状态的python代码
Feb 10 Python
有关wxpython pyqt内存占用问题分析
Jun 09 Python
Python random模块常用方法
Nov 03 Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 Python
python 命令行传入参数实现解析
Aug 30 Python
python实现输出一个序列的所有子序列示例
Nov 18 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 Python
Python requests模块安装及使用教程图解
Jun 30 Python
python线性插值解析
Jul 05 Python
Python基于内置函数type创建新类型
Oct 22 Python
python 装饰器重要在哪
Feb 14 Python
Python 实现绘制子图及子图刻度的变换等问题
May 31 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 GeoIP的使用教程
2011/03/09 PHP
php利用header函数下载各种文件
2016/08/24 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
解决element UI 自定义传参的问题
2018/08/22 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&平移轮播效果
2019/08/16 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
python发布模块的步骤分享
2014/02/21 Python
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python实现控制台中的进度条功能代码
2017/12/22 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
体育专业自荐书
2014/05/29 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
致运动员的广播稿
2015/08/19 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书