deltae
Library
A rust library for converting colors and calculating
DeltaE (color
difference).
Check out the documentation here:
Rust API Documentation
...or compile it yourself:
cargo doc --open
Examples
use std::error::Error;
use std::str::FromStr;
use deltae::*;
fn main() -> Result<(), Box<dyn Error>>{
let lab0 = LabValue::from_str("89.73, 1.88, -6.96")?;
let lab1 = LabValue {
l: 95.08,
a: -0.17,
b: -10.81,
}.validate()?;
let de0 = DeltaE::new(&lab0, &lab1, DE2000);
let de1 = lab0.delta(lab1, DE2000);
assert_eq!(de0, de1);
let lch0 = LchValue::from(lab0);
let xyz0 = XyzValue::from(lab1);
assert_eq!(lch0, lab0);
assert_eq!(xyz0, lab1);
let de2 = lch0.delta(xyz0, DE2000);
assert_eq!(de2.round_to(4), de0.round_to(4));
println!("{}\n{}\n{}\n{}\n{}\n{}\n{}\n",
lab0,
lab1,
lch0,
xyz0,
de0,
de1,
de2,
);
Ok(())
}
Binary
The binary included with this library is a command line application that
calculates Delta E between to Lab colors.
Usage
deltae 0.2.1
Ryan O'Beirne <ryanobeirne@gmail.com>
Calculate Delta E between two colors in CIE Lab space.
USAGE:
deltae [OPTIONS] <COLOR0> <COLOR1>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --color-type <COLORTYPE> Set color type [default: lab] [possible values: lab, lch, xyz]
-m, --method <METHOD> Set DeltaE method [default: 2000] [possible values: 2000, 1994, 1994T, CMC1, CMC2,
1976]
ARGS:
<COLOR0> Reference color values
<COLOR1> Sample color values
Example
deltae --method=de1976 "89.73, 1.88, -6.96" "95.08, -0.17, -10.81"
Install
git clone https://github.com/ryanobeirne/deltae
cd deltae
cargo install --example=deltae --path=. --force
Notes
Calculates DE2000, DE1994 (Graphic Arts and Textiles), DECMC (with a tolerance
for lightness and chroma), and DE1976. The Default is DE2000.