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使用lxml模块和Requests模块抓取HTML页面的教程
May 16 Python
Python时间获取及转换知识汇总
Jan 11 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
遗传算法之Python实现代码
Oct 10 Python
对Python中range()函数和list的比较
Apr 19 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
使用python3 实现插入数据到mysql
Mar 02 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
python 实现图片批量压缩的示例
Dec 18 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 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应用提速面面观
2006/10/09 PHP
PHP中的日期及时间
2006/11/23 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
php实现两个数组相加的方法
2015/02/17 PHP
类似框架的js代码
2006/11/09 Javascript
JSON 学习之JSON in JavaScript详细使用说明
2010/02/23 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
javascript模块化简单解析
2016/04/07 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
Python多线程thread及模块使用实例
2020/04/28 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
科学发展观标语
2014/10/08 职场文书
企业党建工作总结2015
2015/05/26 职场文书
旷工检讨书大全
2015/08/15 职场文书