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开发的HTTP库requests详解
Aug 29 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
Aug 20 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
Python实现点云投影到平面显示
Jan 18 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
May 22 Python
使用Keras画神经网络准确性图教程
Jun 15 Python
浅析Python面向对象编程
Jul 10 Python
详解numpy1.19.4与python3.9版本冲突解决
Dec 15 Python
详解Python flask的前后端交互
Mar 31 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
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
python计算最大优先级队列实例
2013/12/18 Python
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
python根据京东商品url获取产品价格
2015/08/09 Python
Python爬豆瓣电影实例
2018/02/23 Python
python实现简单登陆系统
2018/10/18 Python
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
python实现flappy bird游戏
2018/12/24 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
值得收藏的10道python 面试题
2019/04/15 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
企业宣传口号
2014/06/12 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
简单的辞职信模板
2015/05/12 职场文书
预备党员转正意见
2015/06/01 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
AJAX实现省市县三级联动效果
2021/10/16 Javascript