Python图像处理库PIL的ImageEnhance模块使用介绍
作者:icamera0 发布时间:2023-05-14 17:29:51
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如下:
图像im_5如下:
图像im_8如下:
图像im_20如下:
三、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如下:
图像im_5如下:
图像im_8如下:
图像im_20如下:
四、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如下:
图像im_5如下:
图像im_8如下:
图像im_20如下:
五、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如下:
图像im_20如下:
图像im_30如下:
六、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()
来源:https://blog.csdn.net/icamera0/article/details/50753705


猜你喜欢
- Python过滤txt文件内重复内容,并将过滤后的内容保存到新的txt中示例如下 原文件处理之后的文件 直接上代码# -*-coding:u
- 如 现有字符串 "[]aseabcd[12345]ddxabcdsx[]",要截取"abcd[" 和
- 对于Vue.js来说,如果你想要快速开始,那么只需要在你的html中引入一个<script>标签,加上CDN的地址即可。但是,这
- 已有Django项目,在其中设置以redis为缓存。1、 安装django-redis:pip install django-redis2、
- 环境:OS:Red Hat Enterprise Linux AS release 4 (Nahant)DB:Oracle Database
- kali添加开机自启采用systemd的方法,kali默认是没有rc.local的,需要自己创建。本方法也适用于ubuntu 18.04 6
- 最近老师布置了个作业,爬取豆瓣top250的电影信息。按照套路,自然是先去看看源代码了,一看,基本的信息竟然都有,心想这可省事多了。简单分析
- web2.0教程4:如何调用css样式表 这些技巧主要讲meta标签设置的,其实与符合web标准关系不大,只要注意在最后加"/&q
- 那么什么这两个到底有什么区别和联系呢?我在网上搜了一下,发现很多说法,虽然大同小异,但是似乎只有下面这一段来自微软网站的比较高度抽象,而且意
- 在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:eas
- 前言博主学习python有个几年了,对于python的掌握越来越深,很多时候,希望自己能掌握python越来越多的知识,但是,也意识很多时候
- 又发现一个IE不标准的地方,unshift方法会返回新数组的长度,但IE6与IE7则返回undefined。var a = [3,2,1,4
- HTTP应答头概述 Web服务器的HTTP
- 轮播图的根本其实就是缓动函数的封装,如果说轮播图是一辆跑动的汽车,那么缓动函数就是它的发动机,今天本文章就带大家由简入繁,封装属于自己的缓动
- el-col-group"el-col-group" 是一个 Vue.js 函数式组件,允许您在 "el-ta
- 前言近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐
- 内连接(inner join)。 外连接: 全连接(full join)、左连接(left join)、右连接(right join)。 交
- 1、问题描述在项目开发中,当我们通过npm run build打包之后将文件放在服务器上时通常会出现图片失效问题,控制台中提示某个图片没有找
- (1)查看日期函数拓展phpinfo()<?phpphpinfo();打开上述页面之后,可以看到以下,证明已经安装日期拓展 浏览器输入
- 在IE下测试,发现最大值是:18014398509481984(0x40000000000000)另外发现一个奇怪的问题:JS世界居然不存在