exponential_foreground — VIDEOSTREAM recursive op

• Datenarten: video → video

• Aufruf: import fullseye as fs; fs.ledger.exponential_foreground(video, alpha: 'float' = 0.05, threshold: 'float' = 0.1) -> 'np.ndarray' (die Implementierung direkt: import videostream; videostream.exponential_foreground(video, alpha: 'float' = 0.05, threshold: 'float' = 0.1) -> 'np.ndarray'; aus dem Register: opsvideostream.get("exponential_foreground"))

Verwendung

Vordergrundmasken |frame − exponentieller Hintergrund| > threshold → 0/1 (T, H, W) (video).

Führt denselben exponentiellen gleitenden Mittelwert bg += α (frame - bg) wie exponential_background aus und setzt in jedem Frame die Differenz zum aktualisierten bg, |frame - bg| > threshold, auf 1. Der erste Frame dient zur Initialisierung von bg, seine Differenz ist 0, daher ist t = 0 überall 0.

• video: (T, H, W)-Array oder list von 2-D-Frames. Ganzzahlige dtypes werden über ihr Maximum auf [0, 1] normiert, float wird begrenzt. NaN/Inf ergibt ValueError.

• alpha: [0, 1]. Je größer, desto schneller folgt der Hintergrund, und ein stehendes Objekt verschwindet nach etwa 1/α Frames. Bei 1 gilt bg == frame, also stets alle Pixel 0.

• threshold: in Intensitätseinheiten von [0, 1]. Es ist ein absoluter Schwellwert für alle Pixel, daher werden Rauschen in dunklen und in hellen Bereichen mit demselben Schwellwert abgeschnitten.

• Rückgabewert: (T, H, W) float64 aus 0 / 1.

• Fehler: ValueError.

Soll der Schwellwert aus der pixelweisen Varianz bestimmt werden: running_gaussian_foreground. Für Bewegungserkennung ohne

Geisterbilder: three_frame_difference.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie video_streaming

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• mv_cables — Kabel (Standards, Geschwindigkeit, Stromversorgung, Roboterkabel)

• mv_frame_grabbers — Framegrabber-Karten (keine Optik, entscheiden aber, ob überhaupt aufgenommen werden kann)

• mv_standards — Kameraschnittstellen: Standards und Gremien

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• video_streaming — py -3.11 examples/video_streaming.py

Typkompatible Folge-Operatoren (nehmen video als Eingabe)

temporal_median_window · moving_average_window · background_subtraction_window · frame_difference_causal · exponential_background · running_mean_std · optical_flow_magnitude_stream · motion_history_image

Gleiche Kategorie (recursive)

frame_difference_causal · exponential_background · running_mean_std


*Provenance: videostream.py — VIDEOSTREAM Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.