Created
April 22, 2021 19:04
-
-
Save usefulslug/a6ae17e2322e53be01d7aac2213d0749 to your computer and use it in GitHub Desktop.
Lab Delta E
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static float LabDeltaE(Lab labA, Lab labB) | |
{ | |
var deltaL = labA.L - labB.L; | |
var deltaA = labA.a - labB.a; | |
var deltaB = labA.b - labB.b; | |
var c1 = Mathf.Sqrt(labA.a * labA.a + labA.b * labA.b); | |
var c2 = Mathf.Sqrt(labB.a * labB.a + labB.b * labB.b); | |
var deltaC = c1 - c2; | |
var deltaH = deltaA * deltaA + deltaB * deltaB - deltaC * deltaC; | |
deltaH = deltaH < 0 ? 0 : Mathf.Sqrt(deltaH); | |
var sc = 1.0f + 0.045f * c1; | |
var sh = 1.0f + 0.015f * c1; | |
var deltaLKlsl = deltaL / (1.0f); | |
var deltaCkcsc = deltaC / (sc); | |
var deltaHkhsh = deltaH / (sh); | |
var i = deltaLKlsl * deltaLKlsl + deltaCkcsc * deltaCkcsc + deltaHkhsh * deltaHkhsh; | |
return i < 0 ? 0 : Mathf.Sqrt(i); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment