颜色减法 RBG 或 CIElab

Color subtraction RBG or CIElab

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

一样工作吗

z - y = x ?

有研究公式吗?

另一个问题是,如果应用 CIElab 变换来获得色调饱和度亮度,那么我该如何应用它们来减色?

你是说加法混色?

在这种情况下,只添加了灯光。所以,它只是光强度的加减,所以 RGB 很好。但是你需要线性颜色space。所以你需要 "unapply" gamma,加或减,然后再次应用 gamma。

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

对于正常的颜色混合(油漆、油墨、染料等),这很复杂,但在这种情况下,CIExyz 是首选:事实上,在这种 space 上,混合的结果是在两个原始色度之间的线。不幸的是,该模型不会告诉您结果将在这条线内的哪个位置。通常需要更多关于每种颜色的数据(通常不是 RGB 三元组,而是大约 60 项的向量 [因此每 5nm 一个数据])