嗨,这篇文章我们将会讨论到鼎鼎大名的柔光模式。这个模式非常非常的出名,以至于我随便在百度一搜,都出来很多文章,有介绍用法的,有介绍简单原理的等等,这些文章大多数都写得非常的好。
可是并没有我要的知识,迫于无奈,只能自己查资料和做实验了。这个模式是所有模式中公式最为繁杂的(色相组除外),虽然我也看不懂这些公式是什么意思。不过无所谓,看的懂图像就可以,而且我们有工具,可以帮助我们了解公式的机制。
1.预先定义
原则1:我们不妨把上方图层定义为B层,下方图层定义为A层,最后混合层为C层。
原则2:定义B图层的某点像素为点B, A图层的某点像素为点A, C层的某点像素为点C。
(因为一个像素点是通过三个通道来显示的,所以点A的值为(Ar,Ag,Ab);点B,点C也同理。)
原则3:把0-255区间的换算,转换为0-1区间的换算(重点):
0对应的是0.
128对应的是0.5
255对应的是1.
(所以,RGB的三个通道的像素亮度的分别数值就改为0到1,而不是0到255了。)
原则4:混合的意思是两个图层RGB的三个通道分别混合,最后一起显示。
原则5:这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些公式将不再适用。
2.柔光
柔光(soft light,soft 的意思:软的; 柔软的; 硬度较低的; 较软的; 柔滑的; 细滑的; 细腻的)
我们看看ps官网的定义:
柔光 使颜色变暗或变亮,具体取决于混合色。
此效果与发散的聚光灯照在图像上相似。如果混合色(光源)比 50% 灰色亮,则图像变亮,就像被减淡了一样。
如果混合色(光源)比 50% 灰色暗,则图像变暗,就像被加深了一样。使用纯黑色或纯白色上色,可以产生明显变暗或变亮的区域,但不能生成纯黑色或纯白色。
维基百科的定义:
说实话,看完两家的讲解后,我一脸蒙比,卧槽,这是啥??
突然觉得白底黄字的那个公式好简单。。。。。。。
不过,本着科研精神,不懂的地方就尽量去搞懂嘛。
那么柔光的公式是什么?找找看?没错就是:
2.1B层为纯黑
当上方B层为纯黑时,也就是B=0,那么结果层C=A^2,这就是一个简单的二次方程。
图像如下所示:
可以看到,在柔光模式下,只要我们下层没有黑色,那么无论上层多么黑,结果层都不会出现黑色。这是理论上的情况。
(实际上的情况是,A层的亮度必须大于等于5%,否则,B层为黑色的时候,C层也会出现黑色。因为5%的平方等于0.0025,这是连1%都不到的亮度呀。)
这个函数图像熟悉吗?没错,就在正片叠底那篇出现过。
如果你没有忘记正片叠底的话,当自己混合自己的时候,实际效果和使用黑色进行柔光混合是一样的。(又来这种巧合。。。。。)
我们来看效果:
2.2上层B层为白色
那么当上层B层为白色时,也就是B=1会发生什么呢?
如果B层为白色,那么 最后的结果层.
图像如下:
这个图像或许你会说,这不是和自己滤色的函数图像吗?
不不不,这个和滤色不一样。不信?好,我们来看看效果。
可以看到滤色模式下,光线更为猛烈些,柔光就显得很朦胧。
如果你有印象的话,应该记得滤色模式下,自己混合自己的公式是这样的:
(其实我也忘记了,但是我拿正片叠底反相,再反相,就可以得出滤色了)
滤色的公式很明显和柔光的是不一样的。
为什么不搞的一样呢?
本来我也好奇,但是后来明白了。如果一样的话,那么光线看起来就不柔了。
这也是柔光模式和叠加模式不一样的地方。叠加是对称的,你阴影搞什么,我高光反着搞就行了,但柔光不是。
2.3自己和自己混合
公式太长就不写了。(其实就是偷懒!!啧啧啧!)
直接看图像,我们直接看图像吧。
是一条和叠加相似的曲线,但比叠加柔和很多。
叠加的曲线长这样的:
自己和自己时,柔光混合的效果图:
对比度增加了一点点。
2.4B层在柔光模式下,从灰到白,从白到黑的效果是怎样的呢?
效果图是这样的:
(柔光模式下,从灰到白,从白到黑的效果图)
函数曲线图像下面这样:
这个图的变化,看着是不是有点熟悉??想起什么没有,像不像叠加?
叠加的样子是这样的:
它们的两条曲线的交点都是在x=0.5处。
或许你会说,不像呀?
那是你还没看到后面的几个模式。不经历暴风雨,又怎么知道太平可贵。
同样,这个模式和叠加一样,当B层大于50%灰的时候,结果层是变亮的。
(曲线图)
(效果图)
当B层小于50%灰的时候,结果层变暗了。
(曲线变化图)
(效果图)
可以看到无论是变亮还是变暗,图像的阴影区域变化 都要比高光要来的猛烈。
(可以看到柔光模式下,可以变化的明暗区域是蛮小的。只有一个竹叶的大小)
通过看柔光和叠加的比较,你应该能够看出区别。
在柔光模式下,不会像叠加一样出现纯黑或者纯白的景象。
这个特性非常的特殊。
记得很久之前,用中性灰修东西,我感觉那个画面不够暗,于是用了100%的黑色,拼命在上面刷,依然没啥卵用,画面只是变暗了一点点。
现在看回去,我就是个傻。。。。都怪原理知道太少了。
(我以为用黑色拼命涂,就可以让树木变的跟暗。傻了吧。)
3.与W3C草案的区别
不知你有没有仔细看了维基百科的解释,里面有一个W3C草案。
我一直很好奇这个草案算法和ps的柔光算法有什么区别。
然后,发现基本上没有区别,只有那么一点点点点点小的区别,就是在B层大于50%灰时,w3c草案的算法在阴影处的提亮比ps的柔光要暗那么一点点。(虽然我也看不懂公式是啥意思,但是我看的懂图像。)
红色线条为ps的,青绿色线条为w3c草案的。
4.总结
问:唉??为啥这次不做三个通道的实验了?
答:因为我不想用那个有点丑的曲线模拟器了。(其实就是想偷懒)
问:为啥不说运用?
答:网上大把运用篇,就是很少说底层原理,毕竟公式都太枯燥了。既然网上已经有运用了,何必重复造轮子呢?
现在我们已经有一把原理的标尺,可以拿着这把标尺去卡别人的方法有什么限制。
比如,你会发现有时中性灰修图时,高光的地方压不下来,阴影部分亮度提不上去。当然,你也可以通过多建立几个中性灰层来解决这个问题。(但,谁会这么闲。。。。。)
好吧,我们来说一下总结,柔光模式下,只要你的下层亮度大于5%,小于1,那么无论你如何用什么颜色在上层涂抹,都不会发生结果层都不会有纯黑和纯白的现象。(所以,有时这个模式会和灰挂上勾)
参考
1.Ps混合模式的计算原理,宇宙最穷的进阶笔记(8) -------- 柔光(Soft Light) - 知乎
2.geogebr图像绘制器绘制的柔光模式的数学图像: