PS模式计算公式
正片叠底模式及计算方法简析

正片叠底模式及计算方法简析
正片叠底模式的概述
即查看每个通道中的颜色信息,并将基色与混合色复合。
结果色总是较暗的颜色。
任何颜色与黑色复合产生黑色。
任何颜色与白色复合保持不变。
当用黑色或白色以外的颜色绘画时,绘画工具绘制的连续描边产生逐渐变暗的颜色。
这与使用多个魔术标记在图像上绘图的效果相似。
图1
试验得出的计算方法
结果色=混合色+底色×(1-混合色)
由公式得出如下特性:
1、任何色与白色混合后结果后,还是原色。
2、非白与黑色与底色混合,由于有一个相加的程序。
所以结果色比原色较深。
3、任何色与黑色(K100)混合,所得的结果色为黑色(原色CMY的色值K100),这一点非常重要,因为,PS生成的图片,在RIP的时候图形镂空的选项不起作用。
所以这里主要用于黑色文字图层,这样就可以以叠印的方式印在其它底图图片上,而不至于镂空底图。
正片叠底,根据公式可以得出,任何色与K100混,产生的结果色为CMY值为底色色值,K为100.这样,黑色文字图层就可以不镂空了。
在飞腾中,在一张图片上用黑色文字盖在上面,发排时,生成的PS文件里面里图片的完整信息,包括黑色文字下方的颜色信息,因为这是两个物件。
解释时,RIP能够让你选择镂空参数。
而PHOTOSHOP的图片,在飞腾中,飞腾只能将其识别为一个物件,不能分离出里面的文字。
所以,发排后图形镂空参数对起不起作用。
图像滤镜艺术---PS图层混合模式之明度模式

图像滤镜艺术---PS图层混合模式之明度模式本⽂将介绍PS图层混合模式中⽐較复杂的“明度”模式的算法原理及代码实现内容。
说到PS的图层混合模式,计算公式都有,详细代码实现也能找到,可是,都没有完整介绍全部图层混合模式的代码。
⽐⽅“明度”模式。
公式例如以下:如果两张图的HSY颜⾊模式分别为: Hb,Sb,Yb---Hm,Sm,Ym明度混合结果HSY = HbSbYm这个公式⾮常easy,⽆⾮就是原图的H,S分量+混合图的Y分量⽽已,可是详细代码怎样实现,却⾮常少有⼈分享,今天,我将给⼤家分享本⼈的代码。
HSY模式是⼀种彩⾊传输模型,传输主要的⾊差和亮度信号。
如果直接使⽤HSY颜⾊空间,这个颜⾊空间好像⾮常少见。
详细HSY计算公式例如以下:Y = 0.299R + 0.587G + 0.114B。
Cr = R - Y;Cb = B - Y;H = arctan(Cr/Cb);S = sqrt(Cr * Cr + Cb * Cb);⼤家能够看到,这个公式中运算复杂,可是是基于Cr, Cb分量计算的,并且,明度图层混合模式结果中实际上仅仅改变了Y 分量,因此,我们这⾥能够使⽤YCbCr颜⾊空间来取代HSY颜⾊空间实现这个功能。
YCbCr与RGB转换公式例如以下:Y = 0.257*R+0.564*G+0.098*B+16Cb = -0.148*R-0.291*G+0.439*B+128Cr = 0.439*R-0.368*G-0.071*B+128R = 1.164*(Y-16)+1.596*(Cr-128)G = 1.164*(Y-16)-0.392*(Cb-128)-0.813*(Cr-128)B = 1.164*(Y-16)+2.017*(Cb-128)因此,依照上⾯的公式我们编码实现例如以下:#include"TRGB2YCbCr.h"#include <stdlib.h>#include <stdio.h>#include "math.h"#include <string.h>const float YCbCrYRF = 0.299F; // RGB转YCbCr的系数(浮点类型)const float YCbCrYGF = 0.587F;const float YCbCrYBF = 0.114F;const float YCbCrCbRF = -0.168736F;const float YCbCrCbGF = -0.331264F;const float YCbCrCbBF = 0.500000F;const float YCbCrCrRF = 0.500000F;const float YCbCrCrGF = -0.418688F;const float YCbCrCrBF = -0.081312F;const float RGBRYF = 1.00000F; // YCbCr转RGB的系数(浮点类型)const float RGBRCbF = 0.0000F;const float RGBRCrF = 1.40200F;const float RGBGYF = 1.00000F;const float RGBGCbF = -0.34414F;const float RGBGCrF = -0.71414F;const float RGBBYF = 1.00000F;const float RGBBCbF = 1.77200F;const float RGBBCrF = 0.00000F;const int Shift = 20;const int HalfShiftValue = 1 << (Shift - 1);const int YCbCrYRI = (int)(YCbCrYRF * (1 << Shift) + 0.5); // RGB转YCbCr的系数(整数类型)const int YCbCrYGI = (int)(YCbCrYGF * (1 << Shift) + 0.5);const int YCbCrYBI = (int)(YCbCrYBF * (1 << Shift) + 0.5);const int YCbCrCbRI = (int)(YCbCrCbRF * (1 << Shift) + 0.5);const int YCbCrCbGI = (int)(YCbCrCbGF * (1 << Shift) + 0.5);const int YCbCrCbBI = (int)(YCbCrCbBF * (1 << Shift) + 0.5);const int YCbCrCrRI = (int)(YCbCrCrRF * (1 << Shift) + 0.5);const int YCbCrCrGI = (int)(YCbCrCrGF * (1 << Shift) + 0.5);const int YCbCrCrBI = (int)(YCbCrCrBF * (1 << Shift) + 0.5);const int RGBRYI = (int)(RGBRYF * (1 << Shift) + 0.5); // YCbCr转RGB的系数(整数类型)const int RGBRCbI = (int)(RGBRCbF * (1 << Shift) + 0.5);const int RGBRCrI = (int)(RGBRCrF * (1 << Shift) + 0.5);const int RGBGYI = (int)(RGBGYF * (1 << Shift) + 0.5);const int RGBGCbI = (int)(RGBGCbF * (1 << Shift) + 0.5);const int RGBGCrI = (int)(RGBGCrF * (1 << Shift) + 0.5);const int RGBBYI = (int)(RGBBYF * (1 << Shift) + 0.5);const int RGBBCbI = (int)(RGBBCbF * (1 << Shift) + 0.5);const int RGBBCrI = (int)(RGBBCrF * (1 << Shift) + 0.5);void RGBToYCbCr(int R, int G, int B, int*Y,int*Cb, int* Cr){*Y = ((YCbCrYRI * R + YCbCrYGI * G + YCbCrYBI * B + HalfShiftValue) >> Shift);*Cb = (128 + ((YCbCrCbRI * R + YCbCrCbGI * G + YCbCrCbBI * B + HalfShiftValue) >> Shift));*Cr = (128 + ((YCbCrCrRI * R + YCbCrCrGI * G + YCbCrCrBI * B + HalfShiftValue) >> Shift));}void YCbCrToRGB(int Y, int Cb, int Cr, int*R,int*G, int* B){Cb = Cb - 128; Cr = Cr - 128;*R = Y + ((RGBRCrI * Cr + HalfShiftValue) >> Shift);*G = Y + ((RGBGCbI * Cb + RGBGCrI * Cr + HalfShiftValue) >> Shift);*B = Y + ((RGBBCbI * Cb + HalfShiftValue) >> Shift);if (*R > 255) *R = 255; else if (*R < 0) *R = 0;if (*G > 255) *G = 255; else if (*G < 0) *G = 0;if (*B > 255) *B = 255; else if (*B < 0) *B = 0;}int ColorBlendModeBrightness(unsigned char* baseData, unsigned char* mixData, int width, int height, int stride){int i, j, pos;int bY, bCb, bCr, mY, mCb, mCr, br, bg, bb, mr, mg, mb;unsigned char* pBase = baseData;unsigned char* pMix = mixData;int offset = stride - width * 4;for(j = 0; j < height; j++){for(i = 0; i < width; i++){bb = pBase[0];bg = pBase[1];br = pBase[2];mb = pMix[0];mg = pMix[1];mr = pMix[2];RGBToYCbCr(mr,mg,mb,&mY,&mCb,&mCr);RGBToYCbCr(br,bg,bb,&bY,&bCb,&bCr);YCbCrToRGB((mY+bY)/2, bCb, bCr, &br,&bg,&bb);//(mY+bY)/2表⽰透明度为50%pBase[0] = bb;pBase[1] = bg;pBase[2] = br;pBase += 4;pMix += 4;}pBase += offset;pMix += offset;}return 0;}这个就是全部编码了。
【市盈率PE、市净率PB、市销率PS、ROE、EPS含义及计算公式】

【市盈率PE、市净率PB、市销率PS、ROE、EPS含义及计算公式】摘自博客 /s/blog_53e6b71d0101d5ki.htmlPE、PB、PS、ROE、EPS含义及计算公式PE:市盈率 = 股价 / 每股盈利=总市值 /净利润PB:市净率=股价 / 每股净资产=总市值 /净资产PS:市销率=股价 / 每股收入=总市值 / 销售收入ROE:净资产收益率=报告期净利润/报告期末净资产EPS:每股盈余=盈余 / 流通在外股数 or每股收益=期末净利润 / 期末总股本PE:Price/Earnings 市盈率也有叫做PER的,Price/Earnings Ratio本益比,价格收益比,市盈率市盈率反映市场对企业盈利的看法。
市盈率越高暗示市场越看好企业盈利的前境。
对於投资者来说,市盈率过低的股票会较为吸引。
不过,在讯息发达的金融市场,市盈率过低的股票是十分少见。
单凭市盈率来拣股是不可能的。
投资者可以利用每股盈利增长率(Rate of EPS Growth),与市盈率作比较。
对於一间增长企业,如果其股价是合理的话,每股盈利增长率将会与市盈率相约。
公式:市盈率= 股价/ 每股盈利.如果企业每股盈利为5元,股价为40元,市盈率是8倍。
PB:Price/Book value :平均市净率股价 / 账面价值其中,账面价值的含义是:总资产 ? 无形资产 ? 负债 ? 优先股权益;可以看出,所谓的账面价值,是公司解散清算的价值。
因为如果公司清算,那么债要先还,无形资产则将不复存在,而优先股的优先权之一就是清算的时候先分钱。
但是本股市没有优先股,如果公司盈利,则基本上没人去清算。
这样,用每股净资产来代替账面价值,则PB就和大家理解的市净率了。
PS市销率=总市值/销售收入,P是股价,S是每股的销售收入,P/S或者用总市值除以销售额,这样算出的值叫PS。
PS即市销率估值法的优点是,销售收入最稳定,波动性小;并且营业收入不受公司折旧、存货、非经常性收支的影响,不像利润那样易操控;收入不会出现负值,不会出现没有意义的情况,即使净利润为负也可用。
PS图层混合模式教程,线性加深解析

PS图层混合模式教程,线性加深解析
线性加深模式:查看每个通道中的颜色信息,并通过减小亮度使基色变暗以反映混合色,任何颜色与黑色复合产生黑色,任何颜色与白色复合保持不变。
线性加深的计算公式是:结果色 = 基色混合色 - 255,同位置上下层像素的RGB值分别相加再减去255,进行重新组合,得到结果色,从计算公式就可以看出,图像变暗,且是一种线性变暗的过程。
相信大家全部看文字的话,马上会睡觉,下面我们通过实例来进行验证。
女孩正常模式效果。
复制女孩图层得到女孩拷贝层,并设置为颜色加深效果。
把女孩拷贝层设置为线性加深效果。
通过颜色加深与线性加深的对比,我们可以看到线性加深保留了更多色阶信息,颜色加深会丢失色阶。
颜色加深表现的是拉大图像对比度,图像变暗,更多表现的是对比度。
线性加深表现的是整体饱和度增加,图像变暗,更多表现的是整体饱和度。
女孩拷贝层设置为线性加深后,不透明度设置为20%,图像变暗,饱和度增加,色阶信息丰富,融入到作品中,效果非常不错。
编辑:敖金林。
PS基础学起来27种图层混合模式原理详解ppt课件

计算公式:结果色 = 255 - 混合色的补色 * 及色的补色 / 255
9
10.颜色减淡(Color Dodge) 使用这种模式时,会加亮图层的颜色值,加上的颜色越暗,效果越细腻。与颜色加深刚好相
19
20.差值(Difference) 将要混合图层双方的RGB值中每个值分别进行比较,用高值减去低值作为合成后的颜色。所以这种模
式也常使用,白色与任何颜色混合得到反相色,黑色与任何颜色混合颜色不变。 计算公式:结果色 = 绝对值(混合色 - 基色)
20
21.排除(Exclusion) 排除于差值的作用类似,只是排除模式的结果色对比度没有差值模式强。白色与基色混合得到
12
13.叠加(Overlay) 叠加模式比较复杂,它是根据基色图层的色彩来决定混合色图层的像素是进行正片叠底还是进行滤色,
一般来说,发生变化的都是中间色调,高色和暗色区域基本保持不变。像素是进行正片叠底(Multiply) 混合还是屏幕(Screen)混合,取决于基色层颜色。颜色会被混合,但基色层颜色的高光与阴影部分的亮 度细节就会被保留。
26
27.明度(Luminosity) 用当前图层的亮度值去替换下层图像的亮度值,而色相值与饱和度不变。决定生成颜色的参数包
括:基层颜色的色调与饱和度,混合层颜色的明度。跟颜色模式刚好相反,因此混合色图片只能影响 图片的明暗度,不能对基色的颜色产生影响,黑、白、灰除外。
27
1.正常模式(Normal) 默认模式,显示混合色图层(蝴蝶图层)的像素,没有进行任何的图层混合。这意味
着基色图层(背景图层)对蝴蝶层没有影响。
ps饱和度公式

ps饱和度公式
PS饱和度公式是指在计算图像中像素颜色饱和度时,使用的数学公式。
它可以用来测量图像中鲜艳程度、色彩度和对比度等参数。
该公式最为常见的形式为:Saturation = (max(R,G,B) -
min(R,G,B)) / max(R,G,B)
其中,R、G、B代表像素的红、绿、蓝三原色值,max()和min()分别代表求出三原色中最大值与最小值的函数。
通过这个公式,我们可以得到一个范围在0到1之间的值,用来表示像素的饱和度。
值越大,颜色越鲜艳,越饱和。
但需要注意的是,该公式并不适用于所有类型的图像。
例如,黑白、灰度和纯色图像的饱和度值均为0,因为它们没有任何色彩。
而对于某些高对比度的图像,则会因为存在大量的极端颜色而导致饱和度值失真。
因此,在使用该公式时,一定要结合实际情况进行评估。
- 1 -。
ps中计算的使用方法

ps中计算的使用方法PS中计算的使用方法PS是一款功能强大的图像处理软件,其中包含了一些计算功能,可以帮助用户进行数值计算和公式运算。
本文将介绍PS中计算的使用方法,帮助读者更好地利用这一功能。
一、打开计算器面板在PS中,打开计算器面板的方法很简单。
首先,点击菜单栏中的“窗口”,然后选择“计算器”。
或者可以使用快捷键Alt+Shift+等号(=)来快速打开计算器面板。
二、基本的数值计算在计算器面板中,可以进行基本的数值计算,如加减乘除等。
只需在计算器面板的输入框中输入相应的表达式,然后按下回车键即可得到计算结果。
例如,输入2+3,按下回车键,计算器面板将显示出结果5。
三、使用函数进行计算除了基本的数值计算外,PS的计算器面板还支持一些常用的数学函数,如sin、cos、tan等。
只需在输入框中输入相应的表达式,带有函数名和参数,然后按下回车键即可得到计算结果。
例如,输入sin(30),按下回车键,计算器面板将显示出结果0.5。
四、使用变量进行计算在PS的计算器面板中,还可以定义和使用变量。
可以使用等号将一个数值或表达式赋给一个变量,然后在其他表达式中使用这个变量进行计算。
例如,定义变量a=2,然后输入a+3,按下回车键,计算器面板将显示出结果5。
五、使用常量进行计算除了变量外,PS的计算器面板还支持一些常用的数学常量,如π(pi)和e。
可以直接在表达式中使用这些常量进行计算。
例如,输入2*π,按下回车键,计算器面板将显示出结果约为6.283。
六、使用表达式进行计算PS的计算器面板还支持一些复杂的数学表达式。
可以使用括号来改变运算的优先级,也可以使用加减乘除等运算符来进行计算。
例如,输入(2+3)*4,按下回车键,计算器面板将显示出结果20。
七、使用计算结果进行操作在计算器面板中,可以将计算结果直接应用到图像处理中。
例如,在PS中选择一个图层,然后在计算器面板中进行数值计算,得到结果后,可以将其作为图层的透明度或亮度等属性值,并实时查看效果。
PS图层混合模式原理详解(4)

PS图层混合模式原理详解(4)23.划分(Divide)划分模式的作用是查看每个通道的颜色信息,并用基色分割混合色。
基色数值大于或等于混合色数值,混合出的颜色为白色。
基色数值小于混合色,结果色比基色更暗。
因此结果色对比非常强。
白色与基色混合得到基色,黑色与基色混合得到白色。
计算公式:结果色 = (基色 / 混合色) * 255。
24.色相(Hue)合成时,用混合图层的色相值去替换基层图像的色相值,而饱和度与亮度不变。
决定生成颜色的参数包括:基层颜色的明度与饱和度,混合层颜色的色相。
(这里用到的色相、饱和度、明度也是一种颜色模式,也称作:HSB模式。
)25.饱和度(Saturation)用混合图层的饱和度去替换基层图像的饱和度,而色相值与亮度不变。
决定生成颜色的参数包括:基层颜色的明度与色相,混合层颜色的饱和度。
饱和度只控制颜色的鲜艳程度,因此混合色只改变图片的鲜艳度,不能影响颜色。
26.颜色(Color)用混合图层的色相值与饱和度替换基层图像的色相值和饱和度,而亮度保持不变。
决定生成颜色的参数包括:基层颜色的明度,混合层颜色的色相与饱和度。
这种模式下混合色控制整个画面的颜色,是黑白图片上色的绝佳模式,因为这种模式下会保留基色图片也就是黑白图片的明度。
27.明度(Luminosity)用当前图层的亮度值去替换下层图像的亮度值,而色相值与饱和度不变。
决定生成颜色的参数包括:基层颜色的色调与饱和度,混合层颜色的明度。
跟颜色模式刚好相反,因此混合色图片只能影响图片的明暗度,不能对基色的颜色产生影响,黑、白、灰除外。