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使用sqlite3时游标使用方法
Mar 13 Python
PyTorch学习笔记之回归实战
May 28 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
详解python中的数据类型和控制流
Aug 08 Python
Python PO设计模式的具体使用
Aug 16 Python
解决Django no such table: django_session的问题
Apr 07 Python
python语言的优势是什么
Jun 17 Python
python缩进长度是否统一
Aug 02 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
Dec 15 Python
Python必备技巧之字符数据操作详解
Mar 23 Python
基于Python实现将列表数据生成折线图
Mar 23 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 第二节 数据类型之数组
2012/04/28 PHP
php数组去重的函数代码
2013/02/03 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
php使用GeoIP库实例
2014/06/27 PHP
php页面缓存方法小结
2015/01/10 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
javascript onmouseout 解决办法
2010/07/17 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
JS跨域请求的问题解析
2018/12/03 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
python获得图片base64编码示例
2014/01/16 Python
pyhton列表转换为数组的实例
2018/04/04 Python
python网络爬虫学习笔记(1)
2018/04/09 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
Python logging设置和logger解析
2019/08/28 Python
Python创建数字列表的示例
2019/11/28 Python
详解Python yaml模块
2020/09/23 Python
python Tornado框架的使用示例
2020/10/19 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
施工安全标语
2014/06/07 职场文书
部队2015年终工作总结
2015/04/02 职场文书
投资合作意向书范本
2015/05/08 职场文书
活动宣传稿范文
2015/07/23 职场文书
赞美教师的句子
2019/09/02 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python