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 Django做网页
Nov 04 Python
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python中正则表达式的用法总结
Feb 22 Python
Python模块、包(Package)概念与用法分析
May 31 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
Python随机函数库random的使用方法详解
Aug 21 Python
pygame实现俄罗斯方块游戏(对战篇1)
Oct 29 Python
Python高级特性之闭包与装饰器实例详解
Nov 19 Python
Python命令行click参数用法解析
Dec 19 Python
Django vue前后端分离整合过程解析
Nov 20 Python
如何用python清洗文件中的数据
Jun 18 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表单提交问题的解决方法
2011/04/12 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
使用PHP编写发红包程序
2015/07/22 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
Python内置函数OCT详解
2016/11/09 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
Python最小二乘法矩阵
2019/01/02 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
高中毕业自我鉴定
2013/12/22 职场文书
揭牌仪式主持词
2014/03/19 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
地道战观后感400字
2015/06/04 职场文书
企业宣传稿范文
2015/07/23 职场文书
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL
小程序实现侧滑删除功能
2022/06/25 Javascript