减色RBG或CIElab

时间:2018-06-26 17:46:24

标签: java android algorithm colors rgb

我在这里阅读了几个主题,根据答案,没有确切的解决方案。无论如何,假设我们有RGB颜色选择器(0-255,0-255,0-255)和两种颜色,一种是原始未混合的,另一种是混合的,那么我如何精确地减去以发现添加了哪一种呢?它实际上可以作为

  

z-y = x?

有研究公式吗?

另一个问题是,如果应用CIElab变换以获得色相饱和度亮度,那我该如何应用这些颜色来减去颜色呢?

1 个答案:

答案 0 :(得分:1)

您的意思是附加色混合吗?

在这种情况下,仅添加灯光。因此,仅仅是光强度的加减,所以RGB很好。但是您需要线性色彩空间。因此,您需要“取消应用”伽玛,添加或减去,然后再次应用伽玛。

请参见https://en.wikipedia.org/wiki/SRGB#Specification_of_the_transformation以了解应用Gamma并将其不应用的公式:C是通道(R,G,B,每个),C_linear是线性空间(可以在其中添加和减去强度),C_srgb是我们在计算机上使用的通道值。注意:您应该除以255并乘以将0到1的值归一化。

对于正常的颜色混合(油漆,油墨,染料等),这很复杂,但是在这种情况下,可以首选CIExyz:实际上,在这样的空间上,混合的结果在两者之间原始色度。不幸的是,模型没有告诉您结果将在此行中的哪个位置。通常需要更多有关每种颜色的数据(通常代替RGB三元组,而是大约60个项的向量[因此每5nm就有一个数据)