delta_e library
A package of CIE76, CIE94 and CIEDE2000 algorithms.
Example use case:
LabColor lab1 = LabColor(50, 50, 50);
LabColor lab2 = LabColor(20, 20, 20);
deltaE(lab1, lab2, algorithm: DeltaEAlgorithm.cie94); // The default algorithm is CIEDE2000.
Classes
Enums
 DeltaEAlgorithm
 The algorithms used to calculate the difference between two colors.
 RGBStructure
Functions

deltaE(
LabColor lab1, LabColor lab2, {DeltaEAlgorithm algorithm = DeltaEAlgorithm.ciede2000, Weights weights = const Weights()}) → double 
Calculates the color difference between
lab1
andlab2
. 
deltaE00(
LabColor lab1, LabColor lab2, [Weights weights = const Weights()]) → double  Since the 1994 definition did not adequately resolve the perceptual uniformity issue, the CIE refined their definition, adding five corrections:

deltaE76(
LabColor lab1, LabColor lab2) → double  The 1976 formula is the first formula that related a measured color difference to a known set of CIELAB coordinates. This formula has been succeeded by the 1994 and 2000 formulas because the CIELAB space turned out to be not as perceptually uniform as intended, especially in the saturated regions. This means that this formula rates these colors too highly as opposed to other colors.

deltaE94(
LabColor lab1, LabColor lab2, [Weights weights = const Weights()]) → double  The 1976 definition was extended to address perceptual nonuniformities, while retaining the CIELAB color space, by the introduction of applicationspecific weights derived from an automotive paint test's tolerance data.