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

news2024/11/18 3:34:49

---------------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.coloradmin.cn/o/1548257.html

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

相关文章

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

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

定义类强化——移动的圆

1.构造一个Location类: 1)该类有两个double型私有成员变量x和y,分别表示横坐标和纵坐标; 2)该类有一个有参构造方法,能初始化成员变量x和y; 3)该类具有成员变量的x和y的访问方法和赋值方法。 2.构造一个Circle类&a…

30---SDRAM电路设计

视频链接 SDRAM电路设计01_哔哩哔哩_bilibili SDRAM电路设计 1、SDRAM简介 SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器。 同步是指其时钟频率和CPU前端总线的系统时钟相同,并且内部命令的发送与数据的传输都以…

【保姆级讲解如何Stable Diffusion本地部署】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

基于Java的校园疫情防控管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生2.2 老师2.3 学校管理部门 三、系统展示四、核心代码4.1 新增健康情况上报4.2 查询健康咨询4.3 新增离返校申请4.4 查询防疫物资4.5 查询防控宣传数据 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBoot…

基于nodejs+vue饮食分享平台python-flask-django-php

本系统采用了nodejs语言的express框架,数据采用MySQL数据库进行存储。进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足饮食分享管理的相关工作。 前端技术&#xff…

设计模式学习笔记 - 设计模式与范式 -结构型:3.装饰器模式

概述 上篇文章《设计模式与范式 -结构型:2.桥接模式》,我们介绍了桥接模式,桥接模式的理解方式有两种。第一种理解方式是 “将抽象与实现解耦,让它们能独立开发”。这种理解方式比较特别,应用场景也不多。另一种理解方…

邮件营销工具的必备功能?如何选营销工具?

邮件营销工具的效果如何?营销工具怎么提升邮件营销? 一款优秀的邮件营销工具,不仅能够帮助企业高效地进行邮件发送,还能通过精准的数据分析和用户行为跟踪,提升营销效果。AokSend将探讨邮件营销工具的必备功能。 邮件…

软件杯 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &am…

代码随想录算法训练营 DAY 21 | 230.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236.二叉树的最近公共祖先

230.二叉搜索树的最小绝对差 二叉搜索树,用中序遍历 用一个全局变量result存储最小绝对差,prev指针存储 在中的逻辑里去更新result(保证prev不为空),然后更新prevcur。 牢记谦虚遍历的顺序!pre紧跟在cu…

Spring高级面试题-2024

Spring 框架中都用到了哪些设计模式? 1. 简单工厂: ○ BeanFactory:Spring的BeanFactory充当工厂,负责根据配置信息创建Bean实例。它是一种工厂模式的应用,根据指定的类名或ID创建Bean对象。2. 工厂方法&#xff…

numcpp boostvs2017踩坑记录

之前想用boost1.69版本,但是boost与numcpp编译过程死活找不到boost1.69,踩坑无数,只能采用1.79版本。 https://www.cnblogs.com/tang-zhou-zhou/p/16067695.html 在 Windows 下通过 CMake 使用 Boost 库_cmake boost-CSDN博客 在VS2019中配…

析构 函数

对象死亡的时候会调用析构函数 #include<iostream> using namespace std;class MM { public:~MM(){cout << "调用析构函数" << endl << endl;}};int main() {{MM mm;//动态申请的内存需要手动释放MM* p new MM();cout << "1...…

【Java常用的API】JDK7以前时间相关类

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

js实现拖放效果

dataTransfer对象 说明&#xff1a;dataTransfer对象用于从被拖动元素向放置目标传递字符串数据。因为这个对象是 event 的属性&#xff0c;所以在拖放事件的事件处理程序外部无法访问 dataTransfer。在事件处理程序内部&#xff0c;可以使用这个对象的属性和方法实现拖放功能…

Linux(centos7)部署hadoop集群

部署环境要求:已完成JDK环境部署、配置完成固定IP、SSH免费登录、防火墙关闭等。 1、下载、上传主机 官网:https://hadoop.apache.org 2、解压缩、创建软连接 解压: tar -zxvf hadoop-3.3.6.tar.gz软连接: ln -s /usr/local/apps/hadoop-3.3.6 hadoop3、文件配置 hadoo…

合辑下载 | MatrixOne 与 MySQL 全面对比

前言 MatrixOne是一款高度兼容MySQL语法的HTAP数据库&#xff0c;采用云原生化和存储、计算、事务分离的架构打造了HSTAP超融合数据引擎&#xff0c;实现单一数据库系统同时支持OLTP、OLAP、流计算等多种业务负载。基于MatrixOne高度兼容MySQL的定位&#xff0c;社区的小伙伴在…

多层陶瓷电容器(MLCC)的基本结构与特点

多层陶瓷电容器&#xff08;MLCC&#xff09;是一种电子元件&#xff0c;用于存储电荷和调节电路中的电容值。它们由多个陶瓷层组成&#xff0c;每个层之间夹有金属电极&#xff0c;然后堆叠在一起&#xff0c;并在两端连接上导体引线&#xff0c;形成一个整体结构。在外部通常…

【保姆级讲解如何下载MATLAB和安装MATLAB】

&#x1f308;博主&#xff1a;程序员不想YY啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 &#x1f91d;希望本文对您有所裨益&#xff0c;如有…

【Java程序设计】【C00384】基于(JavaWeb)Springboot的民航网上订票系统(有论文)

【C00384】基于&#xff08;JavaWeb&#xff09;Springboot的民航网上订票系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#x…