あなたが提供CIE94式のオープンソースのC#実装があります:
https://github.com/THEjoezack/ColorMine/blob/master/ColorMine/ColorSpaces/Comparisons/Cie94Comparison.cs
それは、必要に応じて同じライブラリにある変換元をLAB色空間に配置する必要があります。
check your cIE94 calculations onlineでも同じライブラリを使用できます。ここで
はコードの関連するスニペットだ、LABAとlabBは入力です:
var deltaL = labA.L - labB.L;
var deltaA = labA.A - labB.A;
var deltaB = labA.B - labB.B;
var c1 = Math.Sqrt(Math.Pow(labA.A, 2) + Math.Pow(labA.B, 2));
var c2 = Math.Sqrt(Math.Pow(labB.A, 2) + Math.Pow(labB.B, 2));
var deltaC = c1 - c2;
var deltaH = Math.Pow(deltaA,2) + Math.Pow(deltaB,2) - Math.Pow(deltaC,2);
deltaH = deltaH < 0 ? 0 : Math.Sqrt(deltaH);
const double sl = 1.0;
const double kc = 1.0;
const double kh = 1.0;
var sc = 1.0 + Constants.K1*c1;
var sh = 1.0 + Constants.K2*c1;
var i = Math.Pow(deltaL/(Constants.Kl*sl), 2) +
Math.Pow(deltaC/(kc*sc), 2) +
Math.Pow(deltaH/(kh*sh), 2);
var finalResult = i < 0 ? 0 : Math.Sqrt(i);
「定数」は、アプリケーションのタイプに基づいて定義されています。
case Application.GraphicArts:
Kl = 1.0;
K1 = .045;
K2 = .015;
break;
case Application.Textiles:
Kl = 2.0;
K1 = .048;
K2 = .014;
break;
興味のあるもの:このアルゴリズム(指定された定数を持つ)は無料か特許取得済みですか?それはなんと呼ばれていますか? – Tim
私はそれがオープンスタンダードだと信じています。詳細情報:http://en.wikipedia.org/wiki/Color_differenceおよびhttp://en.wikipedia.org/wiki/International_Commission_on_Illumination –
Delta-E距離の実装が必要か、RGBからCIELabへの変換が必要ですか十分でしょうか? –