Histogram

Histogram operator properties for Script Engine. Analyses the colour and brightness distribution of the image and reports whether enough pixels fall inside a chosen colour range. Useful for monitoring exposure on a live feed, detecting when a known team colour or sponsor branding appears on screen, triggering automation when a colour signal (a flag, a light, a vest) is shown to the camera, or recording the dominant hue/saturation of footage for editorial purposes. Define a hue/saturation/value window, set how much of the area must qualify, and use the Qualified flags to drive scripts.

Property Type Access Description
ConfigurationHueValueMin int get/set Lowest hue (in degrees) that counts as a qualifying colour. [min=0, max=360, default=0]. Hue runs around the colour wheel: 0=red, 60=yellow, 120=green, 180=cyan, 240=blue, 300=magenta. Combine with ConfigurationHueValueMax to pick a slice of the wheel.
ConfigurationHueValueMax int get/set Highest hue (in degrees) that counts as a qualifying colour. [min=0, max=360, default=360]. Set the same as ConfigurationHueValueMin for an exact hue match, or widen the range to accept variations.
ConfigurationMinimumSaturation int get/set Minimum colour saturation (%). [min=0, max=100, default=20]. Pixels less saturated than this are ignored. Raise this to exclude near-grey pixels and only react to vivid colours.
ConfigurationMaximumSaturation int get/set Maximum colour saturation (%). [min=0, max=100, default=0]. 0 disables the upper limit. Use to exclude over-saturated pixels.
ConfigurationMinimumValue int get/set Minimum brightness (value, %) of qualifying pixels. [min=0, max=100, default=10]. Pixels darker than this are ignored. Raise this to exclude shadows and only react to well-lit colour.
ConfigurationMinPercentPixel float get/set Percentage of the area that must qualify before Qualified becomes true. [min=0, max=100, default=0]. 0 means any single matching pixel qualifies the frame. Raise this to ignore tiny patches and only fire on substantial coverage (for example, a flag filling a sizeable part of the frame).
ShowQualifyingPixels bool get/set Tint qualifying pixels in the output so they stand out. [default=false]. Useful while dialing in the colour range. Turn off in production unless the visualisation is part of the show.
HideDisqualifyingPixels bool get/set Hide pixels that do not qualify, leaving only the matching colour visible. [default=false]. Combine with Show qualifying pixels for a clear "matched-only" look.
HideAllOutput bool get/set Hide all visual output and use the operator only as a measurement. [default=false]. The Qualified properties are still updated. Use this when the histogram is just a trigger and shouldn't change the picture.
ConfigurationMinFramesToQualify int get/set Number of consecutive frames the colour must qualify before TemporalQualified becomes true. [min=1, max=30, default=1]. Higher values smooth out single-frame glitches but delay the trigger. 1 means react immediately.
ConfigurationMinFramesToNotQualify int get/set Number of consecutive frames without a match before TemporalQualified resets to false. [min=1, max=30, default=1]. Higher values keep the trigger high through brief drop-outs.
Qualified bool get True when the current frame matches the configured colour (read-only). Reflects the raw, instantaneous match. Use TemporalQualified for a debounced version.
TemporalQualified bool get True after enough consecutive frames have qualified (read-only). The recommended trigger for scripts — debounced via ConfigurationMinFramesToQualify/ConfigurationMinFramesToNotQualify.
MostCommonHue int get Hue (degrees) that appears most often in the analysed area (read-only).
MostCommonHueCount int get How many pixels share the most common hue (read-only).
HueValuesFound int get Number of distinct hue values present (read-only). A low number suggests a flat colour palette; a high number suggests a busy/varied image.
MostCommonSaturation int get Saturation level that appears most often, 0–255 (read-only).
SaturationValuesFound int get Number of distinct saturation values present (read-only).
TotalNumberOfPixelsAnalyzed int get Total number of pixels considered, before colour filtering (read-only).
TotalNumberOfPixelsProcessed int get Number of pixels that matched the configured colour rules (read-only).
TotalNumberOfPixelsProcessedPercentageString string get Matching pixels as a percentage of the analysed area, formatted as text (read-only).
VideoPassThrough bool get/set Output the original picture untouched while still analysing it. [default=false]. Useful when the histogram is purely a measurement and the visualization options would interfere with the show.
CropLeft int get/set Pixels to ignore from the left of the image. [min=0, max=4096, default=0]. Use to limit analysis to a region of interest, for example excluding lower-thirds, scoreboards or letterbox bars.
CropRight int get/set Pixels to ignore from the right of the image. [min=0, max=4096, default=0].
CropTop int get/set Pixels to ignore from the top of the image. [min=0, max=4096, default=0].
CropBottom int get/set Pixels to ignore from the bottom of the image. [min=0, max=4096, default=0].

Inherits from: AbstractOperator, AbstractAudioMetering.

See also: Histogram in Operators — user-facing introduction, screenshots, and section summaries.