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获取网页状态码示例
Mar 30 Python
初步解析Python下的多进程编程
Apr 28 Python
python如何求解两数的最大公约数
Sep 27 Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
Python常用数据类型之间的转换总结
Sep 06 Python
Python的历史与优缺点整理
May 26 Python
宝塔面板成功部署Django项目流程(图文)
Jun 22 Python
django form和field具体方法和属性说明
Jul 09 Python
python 实用工具状态机transitions
Nov 21 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 Python
Python各协议下socket黏包问题原理
Apr 12 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中数值计算的注意事项
2016/08/14 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
XENON基于JSON变种
2010/07/27 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
Python GAE、Django导出Excel的方法
2008/11/24 Python
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
简单实现python收发邮件功能
2018/01/05 Python
python简单商城购物车实例代码
2018/03/15 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
高中生毕业自我鉴定范文
2013/12/22 职场文书
小小商店教学反思
2014/04/27 职场文书
房地产广告策划方案
2014/05/15 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
介绍信样本
2015/01/31 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
公司辞职信模板
2015/05/13 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书