• Photoshop中可选颜色是如何计算的?


    以绝对量调整为例,若被调整像素之三原色中最大的灰度值为M,规定颜色调整主要对能量最大的主色进行,且其他两个主色的灰度不变。为了讨论方便起见,设其他两个主色的灰度值为0。如果调整量为100%,则校正点为255-M,且颜色校正结果与被调整主色灰度值有关。考虑到原灰度值M在255中所占的比例,则颜色调整结果M'应该为:
    [公式]
    其他两个主色的灰度值不等于0时需计入它们的影响。选择性颜色校正只考虑能量为中间值的那个主色(称该主色为第二主色),而不考虑能量最小那个主色的影响。设第二主色的灰度值为N(这是三原色三个灰度值的中间值),则选择性颜色调整结果为:
    [公式]

    (以上节选自 姚海根《印刷图像处理》 上海科学技术出版社 2005年1月 P339、340。)

    书中只举了一个例子,本文在此基础上进行拓展。

    例如某RGB图像中红色花朵中某点的R=224 G=26 B=41,选择对红色进行绝对量调整,青色输入+100%。青色和红色为互补色,增加青色相当于减少红色,结果为红色通道的灰度值降低,其他两个主色通道的灰度值不变。计算如下:

    (以下所有计算结果如产生小数,皆四舍五入后取整。photoshop内部对于小数的处理方式可能并非如此,因而有时会有1个值的误差)

    R=M'=(255-224+41) [公式] 224/255=63

    结果:R=63 G=26 B=41

    后面逐步扩展到相对量调整及其他情况,在这之前,先计算下青色输入-100%的情况。

    由于是绝对量调整,整个可调范围只有100%,已知加青调整后得到最小的R值是63,而总共可供调整的灰度值范围为224-41=183,得到减青调整后最大R值

    R=63+(224-41)=246

    进一步得出可调整范围

    224-183 [公式] X=63

    X=88%

    即青色输入+88%时,R已达到最小值,输入大于+88%时,仍是最小值63。

    224+183 [公式] Y=246

    Y=12%

    即青色输入-12%时,R已达到最大值,输入小于-12%时,仍是最大值246。

    结合以上就可以计算任意输入在绝对量调整下的值,举几个例子:

    青色输入+35%,R=224-183 [公式] 35%=160

    青色输入-5%, R=224+183 [公式] 5%=233

    青色-30%,已小于-12%,R=246

    好,接下来进行相对量的调整,

    首先也分别计算下输入+100%和输入-100%的情况

    显然在相对量调整中,青色输入-100%时,R值仍为246

    青色输入+100%,计算可得,R=224-(246-224)=202

    此例中

    青输入+100% ,R值总共减小22, 可得青增加X% ,R值减少22 [公式] X%

    青输入-100% ,R值总共增加22, 可得青增加Y% ,R值增加22 [公式] Y%

    举例:青+64% R=224-22 [公式] 64%=210

    青-78% R=224+22 [公式] 78%=241

    后面讨论下除青色外,洋红和黄色输入调整后,G值和B值如何计算。在此之前再选个颜色验证下。

    R=92 G=197 B=60 是个绿色

    还是像之前那样逐步计算,直接对绿色进行调整,绿色的互补色为品红(洋红),洋红输入+100%,绝对量调整(这里简化下直接运算了,详细过程请看初始例子)

    G=(255-197+92) [公式] 197/255=116

    197-92=105

    洋红输入-100% , G=116+(197-92)=221

    197-105X=116 X=77%

    197+105Y=221 Y=23%

    好,直接计算相对量调整

    洋红输入-100%,G=221

    洋红输入+100%,G=197-(221-197)=173

    221-197=24

    举例:洋红+18% G=197-24 [公式] 18%=193

    洋红-47% G=197+24 [公式] 47%=208

    好了,接着往下看其他情况,还是拿最开始的R=224 G=26 B=41举例,颜色选红色。

    最大灰度值R的互补色青色上面已经调整过了,现在来同时调整品红(洋红)(洋红的互补色为绿色,即此调整仅影响G的值)、调整黄色(黄色的互补色为蓝色,即此调整仅影响B的值)

    计算过程和前面类似,先计算绝对量调整中输入+100%情形。

    G=(255-224+41) [公式] 26/255= 7

    B=(255-224+41) [公式] 41/255= 12

    洋红输入-100% 时,

    G=7+(224-41)=190;

    黄色输入-100% 时

    B=12+(224-41)=195

    计算洋红的调整范围:26-183X=7

    X=10%

    26+183Y=190

    Y=90%

    计算黄色的调整范围:41-183X=12

    X=16%

    41+183Y=195

    Y=84%

    举个例子:青色+12%,洋红-24% 黄色+7%,绝对量调整,最终结果是多少?

    R=224-183 [公式] 12%=202; G=26+183 [公式] 24%=70 ; B=41-183 [公式] 7%=28

    接下看下相对量调整的计算:洋红和黄色输入+100%和-100%结果与绝对调整是一样的,即输入+100%时G=7; B=12,输入-100%时G=190;B=195。计算下单位输入值所对应输出值。

    (190-26)/100=1.64 同步得出相对量调整下,

    (26-7)/1.64=12,即G在+12%时达到最小值。

    举例:洋红-33%,G=26+33 [公式] 1.64=80 洋红+7% G=26-7 [公式] 1.64=15

    黄色在相对量调整下同理:

    (195-41)/100=1.54 同步得出相对量调整下,

    (41-12)/1.54=19,即B在+19%时达到最小值。

    举例:黄色-65%,B=41+65 [公式] 1.54=141 黄色+11% B=41-11 [公式] 1.54=24

    最后随机选取一个颜色作为最后例子,R=61 G=122 B=127

    这里面B的值最大,同时中间值G也比较大,颜色接近青色,选蓝色可调整的范围非常小,因此颜色选择青色,计算方式与前面略有不同。

    在相对量调整下,颜色选青色,如果青色+25%,洋红-26%,黄色+19%,结果是什么?

    开始计算:

    绝对量调整下:青色+100% ,R=(255-61) [公式] 61/255=46

    青色-100% , R=61+46=107

    洋红+100%, G=(255-61)[公式] 122/255=93

    洋红-100% , G=61+93=154

    黄色+100%, B=(255-61)[公式] 127/255=97

    黄色-100% , B=61+97=158

    计算下相对量调整下可调整范围:

    (107-61)/100=0.46 (61-46)/0.46=33(PS中为32) 即R值在青+33%达到最小值

    (154-122)/100=0.32 (122-93)/0.32=91(PS中为90) 即G值在洋红+91%达到最小值

    (158-127)/100=0.31 (127-97)/0.31=97 即B值在黄色+97%达到最小值

    现在回答提出的问题 R=61-25*0.46=50 G=122+26*0.32=130 B=127-19*0.31=121

    以上基本分析了可选颜色在多种调整情形下是如何计算的,其他未举例情形都可以通过上述进行相应推导。可选颜色最底下的黑色本文未提及,调整它可以改变中性灰,结果会改变多个通道的值,颜色中选择白色、中性色、黑色同样如此,这里就不做详细介绍了。

  • 相关阅读:
    .Net常识 值类型和引用类型
    .net 开发人员的瓶颈和职业发展
    PPT Garbage Collection in .Net (内存管理)
    Why Sessionless Web Application ?
    一些.Net面试题 (BS 方向)
    开源一个小类库, 用于对象间灵活的拷贝属性,还有IDataReader到实体类的转换
    在 Visual Studio 单元测试中使用CallContext 导致的 Unit Test Adapter threw exception: Type is not resolved for member... 异常
    【设计原则和建议】 类
    轻量级 Lock Free 线程安全的 Queue<T> 的C#2.0实现
    实验一 命令解释程序的编写
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13801405.html
Copyright © 2020-2023  润新知