RGB値があり、120色のコレクションからそのRGB値に最も近いものを見つけたいと思います。
私が収集したものから、このようなチェックを実装する最も正確な方法の1つは、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を使用するという回答の提案の1つに続いて、私が使用しているルビーライブラリのRMagick(Imagemagick)が実際にLCMSを取得していることに気付きました。これは、この機能の一部にアクセスできる可能性があることを意味します-「プリベーク」。RMagickを使用して上記を達成する方法を知っている人はいますか?