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. 频率派 频率学派(传统学派)认为样本信息来自总体,通过对样本信息的研究可以合理地推断和估计总体信息…

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

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

【无标题】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程序 在创建第…

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

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

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

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

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

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

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

编者按: 作者于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…

基数排序详解

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

Salesforce Flow直播预报

各位使用Salesforce的亲们已经发现Process Builder/Workflow距离最后退役的时间是越来越近了,强大的并且以后会更强大的Flow即将全面一统江湖,想快速上手Flow或者想了解Salesforce产品的Flow原理的宝们可以预约起来啦!

【二叉树】Leetcode 102. 二叉树的层序遍历【中等】

二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点) 示例1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 解题思路…

如何使用ArkTS中的canvas实现签名板功能

一、屏幕旋转 实现签名板的第一个功能就是旋转屏幕。旋转屏幕在各种框架中都有不一样的方式,比如: 在H5端,我们一般是使用CSS中的transform属性中的rotate()方法来强制将网页横屏,然后实现一系列功能在嵌套第三方APP中&#xff…

spring 的理解

spring 的理解 spring 是一个基础的框架,同时提高了一个Bean 的容器,用来装载Bean对象spring会帮我们创建Bean 对象并维护Bean对象 的生命周期。在spring 框架上,还有springCloud,spring Boot 的技术框架,都是以Spring为基石的sp…

Covalent Network(CQT)的以太坊时光机:在 Rollup 时代确保长期数据可用性

以太坊正在经历一场向 “Rollup 时代” 的转型之旅,这一转型由以太坊改进提案 EIP-4844 推动。这标志着区块链技术的一个关键转折,采用了一种被称为“数据块(blobs)”的新型数据结构。为了与以太坊的扩容努力保持一致,…

基于Arduino IDE 野火ESP8266模块 一键配网 的开发

一、配网介绍 ESP8266 一键配网(也称为 SmartConfig 或 FastConfig)是一种允许用户通过智能手机上的应用程序快速配置 ESP8266 Wi-Fi 模块的方法,而无需手动输入 SSID 和密码。为了实现这一功能,则需要一个支持 SmartConfig 的智能…

微服务(基础篇-006-Docker安装-CentOS7)

目录 05-初识Docker-Docker的安装_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LQ4y127n4?p46&spm_id_frompageDriver&vd_source60a35a11f813c6dff0b76089e5e138cc 0.安装Docker 1.CentOS安装Docker 1.1.卸载(可选) 1.2.安装dock…