博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PS图层混合算法之三(滤色, 叠加, 柔光, 强光)
阅读量:5249 次
发布时间:2019-06-14

本文共 1396 字,大约阅读时间需要 4 分钟。

滤色模式:

作用结果和正片叠底刚好相反,它是将两个颜色的互补色的像素值相乘,然后除以255得到的最终色的像素值。通常执行滤色模式后的颜色都较浅。任何颜色和黑色执行滤色,原色不受影响;任何颜色和白色执行滤色得到的是白色;而与其他颜色执行滤色会产生漂白的效果。 

Screen 滤色

C=1-(1-A)*(1-B)也可以写成 1-C=(1-A)*(1-B)

该模式和上一个模式刚好相反,上下层像素的标准色彩值反相后相乘后输出,输出结果比两者的像素值都将要亮(就好像两台投影机分别对其中一个图层进行投影后,然后投射到同一个屏幕上)。从第二个公式中我们可以看出,如果两个图层反相后,采用Multiply模式混合,则将和对这两个图层采用 Screen模式混合后反相的结果完全一样。

 

叠加模式:

在保留底色明暗变化的基础上使用“正片叠底”或“滤色”模式,绘图的颜色被叠加到底色上,但保留底色的高光和阴影部分。底色的颜色没有被取代,而是和绘图色混合来体现原图的亮部和暗部。使用此模式可使底色的图像的饱和度及对比度得到相应的提高,使图像看起来更加鲜亮。  

Overlay 叠加

B<=0.5: C=2*A*B

B>0.5: C=1-2*(1-A)*(1-B)

依据下层色彩值的不同,该模式可能是Multiply,也可能是Screen模式。上层决定了下层中间色调偏移的强度。如果上层为50%灰,则结果将完全为下层像素的值。如果上层比50%灰暗,则下层的中间色调的将向暗地方偏移,如果上层比50%灰亮,则下层的中间色调的将向亮地方偏移。对于上层比50%灰暗,下层中间色调以下的色带变窄(原来为0~2*0.4*0.5,现在为0~2*0.3*0.5),中间色调以上的色带变宽(原来为2*0.4*0.5~1,现在为2*0.3*0.5~1)。反之亦然。

 

柔光模式:

根据绘图色的明暗程度来决定最终色是变亮还是变暗,当绘图色比50%的灰要亮时,则 底色图像变亮。当绘图色比50%的灰要暗时,则底色图像就变暗。如果绘图色有纯黑色或纯白色,最终色不是黑色或白色,而是稍微变暗或变亮。如果底色是纯白色或纯黑色,不产生任何效果。此效果与发散的聚光灯照在图像上相似。

Soft Light 柔光

A<=0.5:C=(2*A-1)*(B-B*B)+B

A>0.5: C=(2*A-1)*(sqrt(B)-B)+B

该模式类似上层以Gamma值范围为2.0到0.5的方式来调制下层的色彩值。结果将是一个非常柔和的组合。

 

强光模式:

根据绘图色来决定是执行“正片叠底”还是“滤色”模式。当绘图色比50%的灰要亮 时,则底色变亮,就执行“滤色”模式一样,这对增加图像的高光非常有帮助;当绘图色比50%的灰要暗时,则底色变暗,就执行“正片叠底”模式一样,可增加 图像的暗部。当绘图色是纯白色或黑色时得到的是纯白色和黑色。此效果与耀眼的聚光灯照在图像上相似。

Hard Light 强光

A<=0.5: C=2*A*B

A>0.5: C=1-2*(1-A)*(1-B)

该模式完全相对应于Overlay模式下,两个图层进行次序交换的情况。如过上层的颜色高于50%灰,则下层越亮,反之越暗。

图A:

图 B

滤色模式:

叠加模式

柔光模式

强光模式:

转载于:https://www.cnblogs.com/muyuge/p/6152408.html

你可能感兴趣的文章
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
查看>>
可编辑路由—Asp.NET MVC项目编译后,修改路由配置可动态加载
查看>>
UESTC 1330 柱爷与远古法阵【高斯消元】
查看>>
Tomcat修改用户名密码教程
查看>>
模块化概念
查看>>
基本排序
查看>>
前端非对称加密,后端Node.js解密(jsencrypt插件)(不需要密钥转码)
查看>>
list删除、集合遍历删除
查看>>
趣谈Java变量的可见性问题
查看>>
图标字体制作 -- 将SVG制作成图标字体文件,通过引入使用
查看>>
为Eclipse添加C/C++开发工具
查看>>
杭州互联网公司汇总
查看>>
Sublime text3 注册失效解决方法
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
hdu 1423 Greatest Common Increasing Subsequence(DP 最长公共上升子序列)
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
如何在.xml文件中配置Servlet信息
查看>>
使用AVCaptureSession捕捉静态图片
查看>>
redis enable TLS
查看>>