Color Clustering

Color clustering determines the dominant colors in an image or video frame by clustering similar colors. The task returns the color at the center of each cluster, and the proportion of the pixels that belong to each cluster. If you configure a color dictionary, the task clusters colors around the colors that are defined in the dictionary, and returns a name (such as "light blue" or "red") for each cluster.

Configuration Parameter Description
ColorDictionary A dictionary file that associates names with RGB color values.
ColorSpace The color space to use when providing analysis results.
ColorThreshold Any color cluster with a score that does not meet the specified threshold is omitted from the results.
CombineNamedColors A Boolean value that specifies whether to combine clusters that have the same color name.
Input The image track to process.
MaxInputQueueLength Can be used to place a limit on latency.
NumParallel The maximum number of video frames to analyze simultaneously.
Region Specifies a region of the frame to process, instead of the entire frame.
SampleInterval The interval at which frames are selected to be analyzed.
SegmentDuration The maximum duration of a record in the SegmentedResult track.
Type The analysis engine to use. Set this parameter to ColorCluster.

Output Tracks

The following table describes the tracks that are generated by this engine. The Output column indicates whether the information contained in the track is included by default in the output created by an output task (when you don't set the Input parameter for the output task).

Output track Description Output
Data Contains one record, describing the analysis results, for each input record. No
Result

Contains a record, describing the analysis results, for each event.

  • When the input is images, Media Server considers each image separately.
  • When the input is video from an ingest engine, or an engine that does not support tracking, Media Server begins a new result when there is a significant change in the color clustering.
  • When the input is video from an engine that supports tracking (for example number plate recognition), results begin and end at the times provided by the other analysis task (for example when the vehicle appears and disappears). The IDs used for the color cluster records are also inherited from the input records.
Yes
SegmentedResult

(Available only when processing video). The same as the Result track, except the duration of each record is limited by the parameter SegmentDuration. If a result exceeds the specified duration, Media Server begins a new record with the same ID.

Yes
Start

The same as the Data track, except it contains only the first record of each event.

No
End

The same as the Data track, except it contains only the last record of each event.

No
ClusteredImage Contains one record for each event. Each record contains the source image, cropped to the analyzed region and modified so that it only contains colors that match the center of a color cluster. If the analyzed region is not rectangular any pixels outside the region are transparent (or black if you use an image format that does not support transparency). No

For more information see Color Analysis Results or use the action GetExampleRecord.