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线程锁(thread)学习示例
Dec 04 Python
Python3指定路径寻找符合匹配模式文件
May 22 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
Jan 24 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
解决Pycharm后台indexing导致不能run的问题
Jun 27 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
Sep 11 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
python判断字符串以什么结尾的实例方法
Sep 18 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 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/11/18 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
python八皇后问题的解决方法
2018/09/27 Python
python实现随机漫步方法和原理
2019/06/10 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
学前教育毕业生自荐信
2013/10/29 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
十八大闭幕感言
2014/01/22 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
学生个人总结范文
2015/02/15 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
2016党校学习心得体会范文
2016/01/07 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
Golang生成Excel文档的方法步骤
2021/06/09 Golang
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL