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对两个有序列表进行合并和排序的例子
Jun 13 Python
python实现上传样本到virustotal并查询扫描信息的方法
Oct 05 Python
Python简单计算文件夹大小的方法
Jul 14 Python
python pandas 对series和dataframe的重置索引reindex方法
Jun 07 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
Python3实现计算两个数组的交集算法示例
Apr 03 Python
Python在OpenCV里实现极坐标变换功能
Sep 02 Python
python中68个内置函数的总结与介绍
Feb 24 Python
Python判断变量是否是None写法代码实例
Oct 09 Python
Scrapy实现模拟登录的示例代码
Feb 21 Python
Python中else的三种使用场景
Jun 16 Python
解决pycharm下载库时出现Failed to install package的问题
Sep 04 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的memcached客户端memcached
2011/06/14 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
JavaScript 序列化对象实现代码
2009/12/18 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
Angular排序实例详解
2017/06/28 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
Python中的rjust()方法使用详解
2015/05/19 Python
python字典排序实例详解
2015/05/20 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
实例介绍Python中整型
2019/02/11 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
美发店5.1活动方案
2014/01/24 职场文书
文案策划专业自荐信
2014/07/07 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
单位接收函格式
2015/01/30 职场文书
为自己工作观后感
2015/06/11 职场文书