You are here: Start » Function Reference » Image Metrics » ColorDistanceImage
![](../../img/icon/ColorDistance.png)
ColorDistanceImage
Compares each pixel with the specified color using chromatic and non-chromatic information.
Syntax
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 |