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 相关文章推荐
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
Python创建一个空的dataframe,并循环赋值的方法
Nov 08 Python
python列表使用实现名字管理系统
Jan 30 Python
django-allauth入门学习和使用详解
Jul 03 Python
Python实现打印实心和空心菱形
Nov 23 Python
python各层级目录下import方法代码实例
Jan 20 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
python框架flask入门之环境搭建及开启调试
Jun 07 Python
python如何求圆的面积
Jul 01 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
解决python的空格和tab混淆而报错的问题
Feb 26 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
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
php测试kafka项目示例
2020/02/06 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
关于文本限制字数的js代码
2007/04/02 Javascript
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
python3实现点餐系统
2019/01/24 Python
python制作简单五子棋游戏
2019/06/18 Python
基于python3实现倒叙字符串
2020/02/18 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
巴西在线鞋店:Shoestock
2017/10/28 全球购物
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
本科应届生求职信
2014/08/05 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
2014年教研室工作总结
2014/12/06 职场文书
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers