Wheel Tracker

Wheel Tracker operator properties for Script Engine. Tracks the rotation of a generic spinning wheel in the video by detecting coloured top/bottom markers and a binary index pattern on the rim. Useful for casino game shows, prize wheels, and any production where on-screen graphics need to follow the rotation of a real wheel. Pair with Wheel Visualizer (or a similar follower) to overlay numbers, segment highlights, or sponsor logos that stay locked to the wheel.

Property Type Access Description
WheelCenterHorizontalOffsetPx int get/set Horizontal offset of the wheel centre from the frame centre, in pixels. [min=-200, max=200, default=0]. Use this when the wheel is not perfectly centred horizontally in the camera view. Adjust until the detection cross sits over the real wheel hub.
MarkerRimSizeMm double get/set Width of the white rim band around the printed marker pattern, in millimetres. [min=1, max=20, default=2]. Must match the physical printed pattern on the wheel — used to locate the boundary between the coloured top/bottom markers and the binary tile area.
PrintRadiusInnerMm double get/set Inner radius of the printed pattern on the wheel, in millimetres. [min=100, max=2000, default=370.4]. Measured from the wheel centre to the inside edge of the pattern. Required for correct tile placement.
PrintRadiusOuterMm double get/set Outer radius of the printed pattern on the wheel, in millimetres. [min=100, max=2000, default=400]. Measured from the wheel centre to the outside edge of the pattern. The difference between outer and inner radius defines the height of the marker band.
NumRadialTiles int get/set Number of radial tiles around the wheel. [min=32, max=512, default=108]. Must match the physical printed pattern. Each tile encodes a position around the wheel.
TileSubdivision int get Subdivision factor used inside each tile (x * x cells). [min=3, max=8, default=4]. Must match the printed binary pattern on the wheel.
TopMarkerColor AdvancedColorPicker get/set Reference colour of the top marker on the printed pattern. Pick a colour that closely matches the printed marker under stage lighting; raise Detection tolerance (hsv 0-255) if the marker is not detected, lower it if there are false detections from similar background colours.
BottomMarkerColor AdvancedColorPicker get/set Reference colour of the bottom marker on the printed pattern. Pick the colour as it appears on camera. The top and bottom markers together define the vertical extent of the wheel pattern and the per-pixel scale.
IndexMarkerColor AdvancedColorPicker get/set Reference colour of the index marker that anchors the binary pattern. The index marker is searched for in each frame and used as the starting point for reading the binary tiles.
DetectionHsvTolerance int get/set Colour-match tolerance when locating coloured markers, on a 0-255 scale. [min=0, max=128, default=32]. Raise if markers are missed under varying lighting; lower if other parts of the image are wrongly detected as markers.
DetectionBlackTolerance int get/set Threshold below which a tile cell is read as a black bit. [min=16, max=128, default=48]. Raise if dark tiles are misread as bright; lower if bright tiles are misread as dark.
DetectionAreaPadding int get/set Extra padding around the detection area, in pixels. [min=0, max=48, default=24]. Increase to give the index-marker search a larger area when the wheel jitters; decrease for tighter detection and slightly faster processing.
ContinuousTopBottomDetection bool get/set When enabled, the top and bottom markers are re-detected every frame. Turn on for a moving camera or wheel that may shift in frame; turn off (after the wheel is found) to lock the detection area and gain a small amount of processing headroom.
DebugBackgroundOpacity int get/set Opacity of the original camera image behind the debug overlays. [min=0, max=100, default=100].
DebugPatternOpacity int get/set Opacity of the predicted tile pattern overlay. [min=0, max=100, default=0]. Raise to verify that the predicted tile grid lines up with the printed wheel.
DebugDetectionAreaOpacity int get/set Opacity of the detection-area outline and crosshairs. [min=0, max=100, default=100].
DebugBinaryResultOpacity int get/set Opacity of the binary-cell sample point overlay. [min=0, max=100, default=100]. Raise to verify the bit sample positions sit on tile centres.
DebugCrossHairRadius int get/set Crosshair size used when drawing debug markers. [min=0, max=10, default=3].
ResetCmd Command get Reset all settings to their defaults (geometry, marker colours, detection tolerances, debug opacities).
WheelAngleDeg double get Currently detected wheel rotation angle, in degrees. Updates every frame. Useful from scripts for triggering on specific positions, or as the input to follow-on visualizer operators that overlay graphics tied to the wheel.
WheelAngleDeg2 double get Alternative-method detected wheel angle, in degrees. Updates every frame. Computed from the index marker plus a sub-tile interpolation; useful as a comparison value to WheelAngleDeg when calibrating.

Inherits from: AbstractOperator, AbstractAudioMetering.

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