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 的描述符 descriptor详解
Feb 27 Python
python递归查询菜单并转换成json实例
Mar 27 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
Python实现PS图像明亮度调整效果示例
Jan 23 Python
django中send_mail功能实现详解
Feb 06 Python
PyQt5每天必学之拖放事件
Aug 27 Python
selenium+python实现自动登录脚本
Apr 22 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
Python3 SSH远程连接服务器的方法示例
Dec 29 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
python suds访问webservice服务实现
Jun 26 Python
Python pandas之求和运算和非空值个数统计
Aug 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
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
webpack4简单入门实例
2018/09/06 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
Python设置默认编码为utf8的方法
2016/07/01 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
毕业生个人求职信范例分享
2013/12/17 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
群众路线党课主持词
2014/04/01 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
基层党建工作简报
2015/07/21 职场文书
远程教育培训心得体会
2016/01/09 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
SpringBoot整合RabbitMQ的5种模式实战
2021/08/02 Java/Android
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB