我有一个 RGB 值,我想从 120 种颜色的集合中找到与该 RGB 值最接近的匹配。
据我所知,实施此类检查的最准确方法之一是使用CIE94 公式。但是,我在使用 Ruby 实现这一点时遇到了麻烦。
你会如何建议我这样做?
R1, G1, B1 = pixel.red, pixel.green, pixel.blue
c = Colour.first
R2, G2, B2 = (c.red * 256), (c.green * 256), (c.blue * 256)
C1 = Math.sqrt((G1**)+(G2**))
C2 = Math.sqrt((B1**)+(B2**))
CAB = C1 - C2
DA = G1 - G2
DB = B1 - B2
DH = Math.sqrt((DA** + DB** - CAB**))
divergence = Math.sqrt( ((R1-R2)/2)** + (CAB/ (1+(0.048*C1)))** + ( DH / ( 1 + ( 0.014 * C1))** )
遵循使用 LCMS 的答案建议之一,我刚刚意识到我正在使用的 ruby 库 RMagick (Imagemagick) 实际上引入了 LCMS。这意味着我可以访问其中的一些功能——“预烘焙”。有人知道使用 RMagick 实现上述目标的方法吗?