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脚本帮你找出微信上删除你好友的人
Jan 07 Python
举例讲解Python面向对象编程中类的继承
Jun 17 Python
详解python之heapq模块及排序操作
Apr 04 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
Python3并发写文件与Python对比
Nov 20 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 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
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
Python画图学习入门教程
2016/07/01 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
写自荐信的注意事项
2014/03/09 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
文员岗位职责
2015/02/04 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers