Back to FabImage Library website

You are here: Start » Function Reference » Image » Image Metrics » ColorDistance


Header: FIL.h
Namespace: fil
Module: FoundationPro

Compares two pixels using chromatic and non-chromatic information. Assumes RGB color space.

Applications: Color comparison insensitive to changes of illumination.


void fil::ColorDistance
	const fil::Pixel& inPixelA,
	const fil::Pixel& inPixelB,
	float inChromaAmount,
	float& outDistance


Name Type Range Default Description
Input value inPixelA const Pixel&
Input value inPixelB const Pixel&
Input value inChromaAmount float 0.0 - 1.0 0.7f Proportion of chromatic information in distance computation
Output value outDistance float&


The operation computes the distance between two pixels.

The distance between pixels is computed using two measures:

  • Value distance - the difference between average channel values
  • Chromatic distance - euclidean distance between pixels normalized to the same value level

The resulting distance is computed as a weighted average of these two values, parameter inChromaAmount ( 0.0 - 1.0 ) being the weight of the chromatic distance, and 1 - inChromaAmount being the weight of the value distance.


List of possible exceptions:

Error type Description
RuntimeError Each pixel component must be nonnegative in ColorDistance.

See Also

  • ColorDistanceImage – Compares each pixel with the specified color using chromatic and non-chromatic information.