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 Django批量导入数据
Mar 25 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
python中pylint使用方法(pylint代码检查)
Apr 06 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
Python button选取本地图片并显示的实例
Jun 13 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 Python
Python如何存储数据到json文件
Mar 09 Python
如何解决cmd运行python提示不是内部命令
Jul 01 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Python 多进程原理及实现
Dec 21 Python
Linux系统下升级pip的完整步骤
Jan 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
php缓冲 output_buffering的使用详解
2013/06/13 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
PHP 实现重载
2021/03/09 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
python实现查询IP地址所在地
2015/03/29 Python
python 性能提升的几种方法
2016/07/15 Python
Python全局变量用法实例分析
2016/07/19 Python
利用python实现数据分析
2017/01/11 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
如何通过python实现人脸识别验证
2020/01/17 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
国庆横幅标语
2014/10/08 职场文书
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle