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使用scrapy抓取网站sitemap信息的方法
Apr 08 Python
python中defaultdict的用法详解
Jun 07 Python
Python进程间通信Queue实例解析
Jan 25 Python
python微信跳一跳游戏辅助代码解析
Jan 29 Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 Python
Python多重继承的方法解析执行顺序实例分析
May 26 Python
python中pygame安装过程(超级详细)
Aug 04 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
python同步两个文件夹下的内容
Aug 29 Python
python编写猜数字小游戏
Oct 06 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 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 ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
深入理解javaScript中的事件驱动
2013/05/21 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
jquery实现左右轮播图效果
2017/09/28 jQuery
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
python计算一个序列的平均值的方法
2015/07/11 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
python实现字典嵌套列表取值
2019/12/16 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
英国森林假期:Forest Holidays
2021/01/01 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
送餐员岗位职责范本
2014/02/21 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
校运会广播稿
2015/08/19 职场文书
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
mysql数据库如何转移到oracle
2022/12/24 MySQL