You are here: Start » FIL.NET » FIL.SegmentImage_Color
Segments an image basing on distance to model colors.
Namespace: | FilNet |
---|---|
Assembly: | FIL.NET.dll |
Syntax
public static void SegmentImage_Color ( FilNet.Image inImage, IList<FilNet.Pixel> inReferenceColors, float inMaxDifference, float inChromaAmount, bool inForceDisjointRegions, IList<FilNet.Region> outRegions )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() | inImage | FilNet.Image | Input image. | ||
![]() | inReferenceColors | System.Collections.Generic.IList<FilNet.Pixel> | Colors to compare pixels to. | ||
![]() | inMaxDifference | float | <0.0f, INF> | 5.0f | Maximal difference between pixel and reference color to be accepted. Default value: 5.0f. |
![]() | inChromaAmount | float | <0.0f, 1.0f> | 0.7f | Proportion of chromatic information in distance computation. Default value: 0.7f. |
![]() | inForceDisjointRegions | bool | Force output regions to be disjoint. | ||
![]() | outRegions | System.Collections.Generic.IList<FilNet.Region> | Regions of pixels closest to colors. |
Description
The operation finds regions of similar colors in RGB color space within inImage.
First, for each pixel of the input image its distance to each color in inReferenceColors is computed (see ColorDistanceImage function).
Then, for each reference color c, the function computes region of pixels that are closer to c than its corresponding threshold. In case inDifferenceMultipliers is Nil, threshold is equal to inMaxDifference. If inDifferenceMultipliers is not Nil, corresponding threshold is the product of inMaxDifference and the element of inDifferenceMultipliers that corresponds to c.
If flag inForceDisjointRegions is set to True, the regions are forced to be disjoint. In case a pixel has distance less than threshold for more than one color, distances are divided by thresholds and the minimum of ratios is taken. In particular, if the function works in one-threshold mode, the operation described above becomes simply minimum of distances.
Examples
![]() |
![]() |
SegmentImage_Color run with colors taken from three points with inChromaAmount = 0.7 and inMaxDifference = 15
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Hardware acceleration settings may be manipulated with Settings class.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Inconsistent array sizes in SegmentImage_Color. |
DomainError | Reference color array size too big in SegmentImage_Color. |