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的Collections模块中counter结构的用法
Jul 07 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
Python3一行代码实现图片文字识别的示例
Jan 15 Python
自学python的建议和周期预算
Jan 30 Python
pandas 数据结构之Series的使用方法
Jun 21 Python
python3调用windows dos命令的例子
Aug 14 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
Feb 11 Python
Python常用模块函数代码汇总解析
Aug 31 Python
在Django中使用MQTT的方法
May 10 Python
pytorch中[..., 0]的用法说明
May 20 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
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
EsLint入门学习教程
2017/02/17 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python编码最佳实践之总结
2016/02/14 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python实现自动登录后台管理系统
2018/10/18 Python
Python实现最常见加密方式详解
2019/07/13 Python
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
歼十出击观后感
2015/06/11 职场文书
承兑汇票延期证明
2015/06/23 职场文书
安全生产会议制度
2015/08/06 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python