Python实现PS图像明亮度调整效果示例


Posted in Python onJanuary 23, 2018

本文实例讲述了Python实现PS图像明亮度调整效果。分享给大家供大家参考,具体如下:

这里用 Python 实现 PS 图像调整中的明度调整:

我们知道,一般的非线性RGB亮度调整只是在原有R、G、B值基础上增加和减少一定量来实现的,而PS的明度调整原理还得从前面那个公式上去找。我们将正向明度调整公式:

RGB = RGB + (255 - RGB) * value / 255

转换为

RGB = (RGB * (255 - value) + 255 * value) / 255

如果value用1表示最大值255,则为

RGB = RGB * (1 - value) + 255 * value

可以看出什么呢?凡是知道图像合成的人都知道这个公式,其实PS的明度调整是采用Alpha合成方式,这里的value就是Alpha,公式前面部分RGB * (1 - value)的是图像部分,后面的255 * value部分则是一个白色遮照层,明度越大,遮照层的Alpha越大,图像就越谈,反之亦然。而明度的负调整则是以一个黑色遮照层来完成的。负100%就全黑了。只有遮照层Alpha=0,也就是明度值为0时,才是完完全全的图片显示。

明度调整,利用图层的合成

如果alpha大于0,相当于利用一个白色遮罩层合成

RGB = RGB * (1 - alpha) + 255 * alpha;

如果alpha小于0,相当于利用一个黑色遮罩层合成

RGB=RGB * (1+alpha) + 0 * alpha;

import matplotlib.pyplot as plt
from skimage import io
file_name='D:/Visual Effects/PS Algorithm/4.jpg';
img=io.imread(file_name)
# -255.0 - 255.0 alpha -1.0 - 1.0
Increment = 105.0;
alpha = Increment/255.0;
def Illumi_adjust(alpha, img):
  if alpha > 0 :
    img_out = img * (1 - alpha) + alpha * 255.0
  else:
    img_out = img * (1 + alpha)
  return img_out/255.0
img_out = Illumi_adjust(alpha, img)
plt.figure()
plt.imshow(img)
plt.axis('off')
plt.figure(2)
plt.imshow(img_out)
plt.axis('off')
plt.show()

原图

Python实现PS图像明亮度调整效果示例

明度增加:

Python实现PS图像明亮度调整效果示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python 查找文件夹下所有文件 实现代码
Jul 01 Python
Python常用知识点汇总
May 08 Python
python删除过期log文件操作实例解析
Jan 31 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python实现屏保程序(适用于背单词)
Jul 30 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
基于python中__add__函数的用法
Nov 25 Python
Django查询优化及ajax编码格式原理解析
Mar 25 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
python中HTMLParser模块知识点总结
Jan 25 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
matplotlib绘图实例演示标记路径
Jan 23 #Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
Jan 23 #Python
Python实现PS图像抽象画风效果的方法
Jan 23 #Python
matplotlib作图添加表格实例代码
Jan 23 #Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
Jan 23 #Python
Django实现组合搜索的方法示例
Jan 23 #Python
50行Python代码实现人脸检测功能
Jan 23 #Python
You might like
Syphon 使用方法
2021/03/03 冲泡冲煮
php 404错误页面实现代码
2009/06/22 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
php将html转为图片的实现方法
2017/05/19 PHP
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
JS字符串函数扩展代码
2011/09/13 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
Vue2.0如何发布项目实战
2017/07/27 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
JS中数据结构之栈
2019/01/01 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
python list格式数据excel导出方法
2018/10/31 Python
Python3多线程基础知识点
2019/02/19 Python
机器学习实战之knn算法pandas
2019/06/22 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
HUGO BOSS美国官方网上商店:世界知名奢侈品牌
2017/08/04 全球购物
国际贸易个人求职信范文
2014/01/04 职场文书
四风存在的原因分析
2014/02/11 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
模范教师材料大全
2014/12/16 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
开学典礼观后感
2015/06/15 职场文书