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多线程和队列管理shell程序
Aug 04 Python
win与linux系统中python requests 安装
Dec 04 Python
python实现FTP服务器服务的方法
Apr 11 Python
python版本的仿windows计划任务工具
Apr 30 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
用Django写天气预报查询网站
Oct 21 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
Django跨域请求原理及实现代码
Nov 14 Python
Python实现给PDF添加水印的方法
Jan 25 Python
Python实现位图分割的效果
Nov 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
操作Oracle的php类
2006/10/09 PHP
PHP源码之 ext/mysql扩展部分
2009/07/17 PHP
php学习笔记 数组遍历实现代码
2011/06/09 PHP
destoon官方标签大全
2014/06/20 PHP
php中使用sftp教程
2015/03/30 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
Python模拟三级菜单效果
2017/09/11 Python
你真的了解Python的random模块吗?
2017/12/12 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
详解python深浅拷贝区别
2019/06/24 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
String是最基本的数据类型吗?
2013/06/13 面试题
高等教育学自荐书范文
2014/02/10 职场文书
公司委托书格式范文
2014/04/04 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
2016年元旦致辞
2015/08/01 职场文书
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers