Advertisement
Guest User

BOXCHAD

a guest
Jul 14th, 2021
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Aqua: R: 235, G: 173, B: 219
  2. //Ina iofi: R: 250, G: 199, B: 226
  3. //Regular iofi: R: 250, G: 236, B: 236
  4.  
  5. /**
  6.  * calculate the perceptual distance between colors in CIELAB
  7.  * https://github.com/THEjoezack/ColorMine/blob/master/ColorMine/ColorSpaces/Comparisons/Cie94Comparison.cs
  8.  *
  9.  * @param {Array} labA First LAB color in array
  10.  * @param {Array} labB Second LAB color in array
  11.  */
  12. function deltaE(labA, labB){
  13.   var deltaL = labA[0] - labB[0];
  14.   var deltaA = labA[1] - labB[1];
  15.   var deltaB = labA[2] - labB[2];
  16.   var c1 = Math.sqrt(labA[1] * labA[1] + labA[2] * labA[2]);
  17.   var c2 = Math.sqrt(labB[1] * labB[1] + labB[2] * labB[2]);
  18.   var deltaC = c1 - c2;
  19.   var deltaH = deltaA * deltaA + deltaB * deltaB - deltaC * deltaC;
  20.   deltaH = deltaH < 0 ? 0 : Math.sqrt(deltaH);
  21.   var sc = 1.0 + 0.045 * c1;
  22.   var sh = 1.0 + 0.015 * c1;
  23.   var deltaLKlsl = deltaL / (1.0);
  24.   var deltaCkcsc = deltaC / (sc);
  25.   var deltaHkhsh = deltaH / (sh);
  26.   var i = deltaLKlsl * deltaLKlsl + deltaCkcsc * deltaCkcsc + deltaHkhsh * deltaHkhsh;
  27.   return i < 0 ? 0 : Math.sqrt(i);
  28. }
  29.  
  30. let aqua = [77.67, 29.83, -14.26];
  31. let iofi_ina = [85.33, 22.31, -6.46];
  32. let iofi_base = [94.47, 4.72, 1.68];
  33.  
  34. console.log(deltaE(aqua, iofi_ina));
  35. console.log(deltaE(iofi_ina, aqua));
  36. console.log(deltaE(iofi_base, iofi_ina));
  37. console.log(deltaE(aqua, iofi_base));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement