python 调整图片亮度的示例


Posted in Python onDecember 03, 2020

实现效果

python 调整图片亮度的示例

实现代码

import matplotlib.pyplot as plt
from skimage import io

file_name='D:/2020121173119242.png'
img=io.imread(file_name)

Increment = -10.0

img = img * 1.0 
I = (img[:, :, 0] + img[:, :, 1] + img[:, :, 2])/3.0 + 0.001

mask_1 = I > 128.0

r = img [:, :, 0]
g = img [:, :, 1]
b = img [:, :, 2]

rhs = (r*128.0 - (I - 128.0) * 256.0) / (256.0 - I) 
ghs = (g*128.0 - (I - 128.0) * 256.0) / (256.0 - I)
bhs = (b*128.0 - (I - 128.0) * 256.0) / (256.0 - I)

rhs = rhs * mask_1 + (r * 128.0 / I) * (1 - mask_1)
ghs = ghs * mask_1 + (g * 128.0 / I) * (1 - mask_1)
bhs = bhs * mask_1 + (b * 128.0 / I) * (1 - mask_1)

I_new = I + Increment - 128.0

mask_2 = I_new > 0.0

R_new = rhs + (256.0-rhs) * I_new / 128.0
G_new = ghs + (256.0-ghs) * I_new / 128.0
B_new = bhs + (256.0-bhs) * I_new / 128.0

R_new = R_new * mask_2 + (rhs + rhs * I_new/128.0) * (1-mask_2)
G_new = G_new * mask_2 + (ghs + ghs * I_new/128.0) * (1-mask_2)
B_new = B_new * mask_2 + (bhs + bhs * I_new/128.0) * (1-mask_2)

Img_out = img * 1.0

Img_out[:, :, 0] = R_new
Img_out[:, :, 1] = G_new
Img_out[:, :, 2] = B_new

Img_out = Img_out/255.0

# 饱和处理
mask_1 = Img_out < 0 
mask_2 = Img_out > 1

Img_out = Img_out * (1-mask_1)
Img_out = Img_out * (1-mask_2) + mask_2

plt.figure()
plt.imshow(img/255.0)
plt.axis('off')

plt.figure(2)
plt.imshow(Img_out)
plt.axis('off')

plt.figure(3)
plt.imshow(I/255.0, plt.cm.gray)
plt.axis('off')

plt.show()

以上就是python 调整图片亮度的示例的详细内容,更多关于python 调整图片亮度的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python如何通过protobuf实现rpc
Mar 06 Python
Django自定义认证方式用法示例
Jun 23 Python
Python读取sqlite数据库文件的方法分析
Aug 07 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
Apr 02 Python
python库lxml在linux和WIN系统下的安装
Jun 24 Python
python得到qq句柄,并显示在前台的方法
Oct 14 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
Aug 07 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
Python list去重且保持原顺序不变的方法
Apr 03 Python
Python中Matplotlib的点、线形状、颜色以及绘制散点图
Apr 07 Python
Python 实现PS滤镜的旋涡特效
Dec 03 #Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 #Python
python字符串拼接+和join的区别详解
Dec 03 #Python
python二维图制作的实例代码
Dec 03 #Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 #Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 #Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 #Python
You might like
php基础知识:类与对象(5) static
2006/12/13 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
深入理解Python 代码优化详解
2014/10/27 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
python三大神器之fabric使用教程
2019/06/10 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
python一些性能分析的技巧
2020/08/30 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
学生党员思想汇报范文
2014/01/09 职场文书
给老师的道歉信
2014/01/11 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
买房协议书范本
2014/10/23 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
毕业实习证明范本
2015/06/16 职场文书
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL