颜色减法 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 一个数据])
我在这里阅读了几个主题,根据答案没有确切的解决方案。无论如何,假设我们有 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 一个数据])