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.