Pillow教程07:调整图片的亮度+对比度+色彩+锐度

---------------Pillow教程集合---------------

Python项目18:使用Pillow模块,随机生成4位数的图片验证码

Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)

Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)

Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩

Pillow教程04:学习Draw绘制+Font字体+alpha composite方法,给图片添加文字水印

Pillow教程05:NumPy数组和PIL图像的相互转化

Pillow教程06:将图片中出现的黄色和红色,改成绿色

1.调整亮度:首先,需要打开图像,然后创建一个Brightness对象,并使用其enhance方法来调整亮度。
准备一个素材原图
在这里插入图片描述
下面的,左边第一个为原图,第二个是亮度增加,第三个是亮度减少的效果。为了看到区别,所以把他们放在一块做对比。
在这里插入图片描述

# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
from PIL import Image, ImageEnhance# 1.打开图像
image = Image.open('猫女.png')
w, h = image.size
# 将处理后的图片粘贴,到output上
img_output = Image.new('RGB', (3*w, h))
# 3.将原图复制到(0,0)位置
img_output.paste(image, (0, 0))# 4.创建Brightness对象
enhancer = ImageEnhance.Brightness(image)
# 调整亮度,参数为亮度的倍数,例如1.5表示原始亮度的1.5倍
bright_image = enhancer.enhance(1.5)
img_output.paste(bright_image, (w, 0))# 5.减弱亮度
imgc = enhancer.enhance(0.5)
img_output.paste(imgc, (2*w, 0))
# 6.保存图像
img_output.save('bright_image.png')

2.调整对比度,与调整亮度类似,可以使用ImageEnhance.Contrast来调整图像的对比度。
在这里插入图片描述

from PIL import Image, ImageEnhance# 1.打开图像
image = Image.open('猫女.png')# 2.创建Contrast对象
enhancer = ImageEnhance.Contrast(image)# 3.调整对比度,参数为对比度的倍数,例如1.5表示原始对比度的1.5倍
contrast_image = enhancer.enhance(1.5)# 保存调整后的图像
contrast_image.save('contrast_image.png')

3.调整色彩(饱和度)要调整图像的色彩或饱和度,可以使用ImageEnhance.Color
在这里插入图片描述

from PIL import Image, ImageEnhance# 1.打开图像
image = Image.open('猫女.png')# 2.创建Color对象
enhancer = ImageEnhance.Color(image)# 3.调整色彩(饱和度),参数为饱和度的倍数
color_image = enhancer.enhance(1.5)# 4.保存调整后的图像
color_image.save('color_image.png')

4.ImageEnhance.Sharpness用于调整图像的锐度。锐度是反映图像平面清晰度和图像边缘锐利程度的一个指标。当增强因子大于1.0时,图像的锐度会增加,边缘会变得更加清晰;当增强因子小于1.0时,图像的锐度会减弱,边缘会变得更加模糊。增强因子为1.0时,图像将保持原始状态。在这里插入图片描述

# @Author : 小红牛
# 微信公众号:WdPython
from PIL import Image, ImageEnhance# 1.打开图像
image = Image.open('猫女.png')# 2.创建Sharpness对象
enhancer = ImageEnhance.Sharpness(image)# 3.调整锐度,参数为锐度的倍数,例如2表示原始锐度的两倍
sharp_image = enhancer.enhance(2)# 4.保存图像
sharp_image.save('sharp_image.png')

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame 图像处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/773833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM本地方法

本地方法接口 NAtive Method就是一个java调用非java代码的接口 本地方法栈(Native Method Statck) Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或…

【机器学习之---数学】统计学基础概念

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 统计学基础 1. 频率派 频率学派(传统学派)认为样本信息来自总体,通过对样本信息的研究可以合理地推断和估计总体信息…

22套软件研发文档模板下载(实用版)

1 项目名称-用户需求说明书.doc(Word模板) 2 项目名称-产品需求说明书.doc(Word模板) 3 需求单-需求主题-yyyyMMdd.doc(Word模板) 4 项目名称-项目任务书.doc(Word模板) 5 项目名称-…

Transformer 模型中增加一个 Token 对计算量的影响

Transformer 模型中增加一个 Token 对计算量的影响 Transformer 模型中增加一个 Token 对计算量的影响1. Transformer 模型简介2. Token 对计算量的影响3. 增加一个 Token 的计算量估算4. 应对策略5. 结论 Transformer 模型中增加一个 Token 对计算量的影响 Transformer 模型作…

学习笔记(16)函数防抖和节流

JavaScript 中的函数防抖(Debounce)和函数节流(Throttle)是两种优化频繁触发事件回调函数执行的技术,它们主要用于限制函数调用的频率,尤其是在处理高频率触发且响应开销较大的用户交互场景时。 函数防抖 …

【无标题】C高级325

练习1:输入一个数,实现倒叙123-》321 练习2:输入一个,判断是否是素数 练习3:输入一个文件名, 判断是否在家目录下存在, 如果是一个目录,则直接输出是目录下的sh文件的个数 如果存在则判断是否是…

ELF 1技术贴|应用层更改引脚复用的方法

在嵌入式系统设计中,引脚复用功能通常是通过设备树(Device Tree)预先配置设定的。出厂的设备树中UART2_TX_DATA和UART2_RX_DATA两个引脚被复用成了UART2功能,如果想要在不更换系统镜像的情况下,将这两个引脚的功能转换为GPIO,并作…

深入探讨iOS开发:从创建第一个iOS程序到纯代码实现全面解析

iOS开发作为移动应用开发的重要领域之一,对于开发人员具有重要意义。本文将深入探讨iOS开发的各个方面,从创建第一个iOS程序到纯代码实现iOS开发,带领读者全面了解iOS应用程序的开发流程和技术要点。 📱 第一个iOS程序 在创建第…

C++ namespace命名空间 static静态成员

目录 命名空间 静态成员 (1)静态数据成员 (2)静态成员函数 1 myclass.h 2 myclass.cpp 3 test.h 4 test.cpp 5 main.cpp 命名空间 命名空间(namespace)是许多编程语言使用的一种代码组织的形式。…

基于springboot+vue+Mysql的超市进销存系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

工地污水处理一体化成套设备如何选型

工地污水处理一体化成套设备的选型是确保工地污水处理效果的关键。在选择合适的设备前,我们需要考虑几个重要因素。 首先,我们需要评估工地的实际污水处理需求。包括污水产生量、水质特征、处理要求等。通过了解工地的情况,我们能够确定适合处…

Rust 开发的高性能 HTTP 请求工具

一、简述 在现在的软件开发领域,HTTP请求的快速验证变得越来越重要。特别是对于后端开发人员和测试工程师来说,能够快速创建、执行并验证HTTP请求对于提升开发效率至关重要。近期有一个名为Hurl的开源项目,它被设计来高效执行HTTP请求&#…

一文读懂ETF(二)之交易详情

ETF分类(二)交易详情 我们昨天讲到了什么是ETF,ETF有哪些类型,很多朋友对ETF就有了一个基础的认识。 那么今天继续了解了解ETF的交易详情,我们在交易ETF的时候经常发现,有些ETF是可以当天卖出的&#xff0c…

《探索移动开发的未来之路》

移动开发作为当今科技领域中最为炙手可热的领域之一,正以惊人的速度不断迭代和发展。从技术进展到应用案例,再到面临的挑战与机遇以及未来的趋势,移动开发都呈现出了令人瞩目的发展前景。本文将围绕移动开发的技术进展、行业应用案例、面临的…

服务运营 | 印第安纳大学翟成成:改变生活的水井选址

编者按: 作者于2023年4月在“Production and Operations Management”上发表的“Improving drinking water access and equity in rural Sub-Saharan Africa”探讨了欠发达地区水资源供应中的可达性和公平性问题。作者于2020年1月去往非洲埃塞俄比亚提格雷地区进行…

2.9 Python缩进规则(包含快捷键)

Python缩进规则(包含快捷键) 和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号( : )来区分代码块之间的层次。 在 Python 中,对于类…

【Java面试题】计算机网络

文章目录 1.计算机网络基础1.1网络分层模型/OSI七层模型是什么?1.2TCP/IP四层模型是什么?每一层的作用?1.2.1TCP四层模型?1.2.2为什么网络要分层? 1.2常见网络协议1.2.1应用层常见的协议1.2.2网络层常见的协议 2.HTTP2…

数据分类分级赋能企业数据安全建设(附下载)

请前往知识星球下载:https://t.zsxq.com/18KTZnJMX 数据分类分级方案是指根据数据的特性、重要性以及安全性要求,将数据按照一定的标准和规则进行分类和定级,以便于更好地管理和利用这些数据。下面是一个基础的数据分类分级方案的构建步骤和…

基数排序详解

基数排序详解 一、基数排序的基本概念二、基数排序的特点二、基数排序的工作过程三、基数排序的伪代码四、基数排序的C语言代码示例五、基数排序的稳定性六、基数排序的优化与变体七、基数排序的应用场景八、结论 在计算机科学中,排序算法是一种非常基础和重要的算法…

CE认证收费标准、认证周期、认证流程

CE认证根据产品不同,对应的欧盟指令(法规)和测试标准就不同,其测试成本就不同,而测试成本是认证费用里占大的比例,因此认证费用就会不同;打个比方,空调和挖掘机,一个是家…