You are here: Start » Function Reference » Image Metrics » ColorDistanceImage
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
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 |