Back to Adaptive Vision Library website

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

ColorDistanceImage


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

Syntax

C++
C#
 
void avl::ColorDistanceImage
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	const avl::Pixel& inRgbColor,
	float inChromaAmount,
	avl::Image& outValueImage
)

Parameters

Name Type Range Default Description
inImage const Image& Unsigned color image used in comparison
inRoi Optional<const Region&> NIL Range of pixels to be processed
inRgbColor const Pixel& Color to compare the image to
inChromaAmount float 0.0 - 1.0 0.7f Proportion of chromatic information in distance computation
outValueImage Image& Unsigned image of distances

Description

The operation computes the distance between each pixel of inImage and a specified color, presenting result as a monochromatic image. Input image should be in RGB color space.

Distance between pixels is computed using two measures:

  • Value distance - difference between pixel average values.
  • Chromatic distance - euclidean distance between pixel colors interpreted as points in N-dimensional space ( where N denotes the number of pixel channels ) rescaled to the (0.0 - 255.0) range.

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.

Examples

ColorDistanceImage run with inRgbColor = , inChromaAmount = 0.8

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

Error type Description
RuntimeError Each pixel component of inRgbColor must be nonnegative in ColorDistanceImage

See Also