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程序中操作MySQL的基本方法
Jul 29 Python
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
Python中的pack和unpack的使用
Mar 12 Python
python爬虫 urllib模块url编码处理详解
Aug 20 Python
查看端口并杀进程python脚本代码
Dec 17 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
python如何从键盘获取输入实例
Jun 18 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 Python
Jupyter安装链接aconda实现过程图解
Nov 02 Python
python如何在word中存储本地图片
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
PHP4实际应用经验篇(6)
2006/10/09 PHP
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
PHP教程 基本语法
2009/10/23 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
javascript中创建对象的三种常用方法
2010/12/30 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
Bootstrap基础学习
2015/06/16 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
Pandas中resample方法详解
2019/07/02 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
行政人员工作职责
2013/12/05 职场文书
户外拓展活动方案
2014/02/11 职场文书
大学生学期个人总结
2015/02/12 职场文书
妈妈别哭观后感
2015/06/08 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
机械生产实习心得体会
2016/01/22 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
Python开发简易五子棋小游戏
2022/05/02 Python