RemoveStaticBackground¶
Uses statistical filtering to remove static background from an image.
This is basically a keyer that tries to detect movement in front of a static background.
Input Parameters¶
| Name (Relevancy & Type) | Description |
|---|---|
| Texture2d (Texture2D Required) | — |
| Update (Boolean) | — |
| OutputMode (Int32) | — |
| MeanRate (Single) | How quickly the background “memory” adapts to slow changes like lighting drift. Higher values settle faster, but risk absorbing slow-moving people into the background. |
| SpreadUpRate (Single) | How fast the system becomes more tolerant when a pixel suddenly gets noisy or unstable. Higher values reduce flicker, but can make the key less sensitive. |
| SpreadDownRate (Single) | How slowly the tolerance tightens again when things become stable. Lower values keep the key steady over time and avoid nervous, popping edges |
| MinSpread (Single) | A minimum "noise cushion" so perfectly flat areas don’t become hypersensitive. Increase it if you see sparkly false positives in quiet regions. |
| BackgroundGateLo (Single) | The point where the system starts to distrust changes and begins to slow down background learning. Raise it if you want the background to keep adapting even with mild motion. |
| BackgroundGateHi (Single) | The point where the system stops learning from a pixel because it’s likely foreground. Lower it to prevent “burn-in” of people; raise it if the background needs to adapt under stronger changes. |
| ZScale (Single) | Overall sensitivity knob for what counts as "different from the background". Higher values key more aggressively; lower values are more forgiving. |
| BrightSuppression (Single) | How much to ignore pixels that get brighter than the background (useful for projectors adding light). Lower values ignore bright projection changes more strongly, focusing on dark occlusions like people. |
| EnableChroma (Boolean) | — |
| ChromaWeight (Single) | How strongly color changes influence the key compared to brightness changes. Increase it to react more to hue shifts; decrease it if you only care about silhouettes from light/dark changes. |
| VoteThreshold (Single) | How “foreground” a pixel must look before it really counts as a vote in the neighborhood check. Raise it to ignore weak, noisy changes; lower it to pick up faint motion. |
| DensityRange (Vector2) | x: The minimum amount of nearby agreement needed before the mask starts strengthening a pixel. Raise it to require bigger, more solid shapes; lower it to keep thinner details. y: The density where the neighborhood consensus is treated as fully confident. Lower it to fill gaps more aggressively; raise it to stay stricter and preserve fine edges. |
| TemporalStability (Single) | — |
| KeepOriginal (Single) | How much of the raw mask is kept versus the neighborhood-refined result. Higher values preserve delicate details but keep more noise; lower values look cleaner and more "chunky". |
| IsTraining (Boolean) | — |
| TrainingMeanRate (Single) | — |
| TrainingSpreadUpRate (Single) | — |
| TrainingSpreadDownRate (Single) | — |
| TrainingBrightSuppression (Single) | — |
Outputs¶
| Name | Type |
|---|---|
| Output | T3.Core.DataTypes.Texture2D |