> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/funktionsblocke/blocks-reference/image-transformations/transformation-filters/heatmap.md).

# HeatMap

Dieser Funktionsblock visualisiert, wo sich Bewegung über die Zeit in einem festen Sichtfeld anhäuft. Er erzeugt eine farbige Überlagerung, die Bereiche mit häufigen Bewegungen hervorhebt — nützlich für Überwachung, Verkehrsanalysen oder Aktivitäts-Heatmaps.

## 📥 Eingänge

`Image Any`\
Graustufen- oder Farb-Frame-Stream, der auf Bewegung analysiert werden soll.

## 📤 Ausgänge

`Image Any`\
Farbiges Bild mit einer Heatmap-Überlagerung, die Bereiche mit häufiger Bewegung hervorhebt.

## 🕹️ Steuerungen

`Threshold`\
Passt die Empfindlichkeit für die Vordergrunderkennung an. Höhere Werte ignorieren kleine Veränderungen und konzentrieren sich auf stärkere Bewegungen.

`MaxValue`\
Steuert, wie stark jedes erkannte Bewegungsevent zur akkumulierten Heatmap beiträgt. Größere Werte erhöhen den Beitrag jedes Events.

`Alpha`\
Legt das Gewicht des ursprünglichen ersten Frames beim Überlagern der farbigen Heatmap fest. Niedrigere Werte machen die Überlagerung stärker.

`Beta`\
Legt das Gewicht der kolorierten akkumulierten Bewegungsmap beim Überlagern fest. Höhere Werte machen die Heatmap prominenter.

## ⚙️ Funktionsweise

* Beim ersten Lauf erfasst der Block den ersten Frame und speichert ihn als Hintergrundreferenz.
* Für nachfolgende Frames werden Vordergrundpixel berechnet und durch Thresholding als Bewegungsereignisse erkannt.
* Erkannte Bewegungs-Pixel werden über die Zeit in einem internen akkumulierten Bild gesammelt.
* Das akkumulierte Bild wird koloriert und mit dem gespeicherten ersten Frame unter Verwendung der `Alpha`- und `Beta`-Werte gemischt, um die finale Überlagerung zu erzeugen.
* Der Block akkumuliert weiter, bis der Lauf gestoppt oder der Block zurückgesetzt wird.

## 🎯 Funktionen

* Kontinuierliche Akkumulation für langfristige Bewegungs-Heatmaps.
* Einfache Steuerung zur Balance von Empfindlichkeit und Visualisierungsstärke.
* Echtzeit-Overlay, um zu sehen, wo die meiste Aktivität im Bildbereich stattfindet.
* Eingebaute Hard-Reset-Behandlung zum Löschen akkumulierten Daten zwischen Läufen.

## 📝 Nutzungshinweise

1. Einspeisen Sie einen Live-Kamera- oder Video-Frame-Stream in den Eingang `Image Any`.
2. Stellen Sie `Threshold` so ein, dass nur relevante Bewegungen erfasst und Rauschen ignoriert werden.
3. Passen Sie `MaxValue` an, um festzulegen, wie stark jedes Ereignis zur Heatmap beiträgt.
4. Verwenden Sie `Alpha` und `Beta`, um die Sichtbarkeit zwischen der ursprünglichen Szene und der kolorierten Heatmap auszubalancieren.
5. Stoppen oder setzen Sie den Lauf zurück, wenn Sie die akkumulierte Heatmap löschen möchten.

## 💡 Tipps und Tricks

* Für Live-Kameraquellen kombinieren Sie diesen Block mit `Camera USB`, `Camera IP (ONVIF)` oder `Stream Reader`, um kontinuierliche Frames zu liefern.
* Wenn Ihre Eingabebilder groß sind und Sie nur eine Übersicht benötigen, fügen Sie vor diesem Block `Image Resize` hinzu, um die Verarbeitung zu beschleunigen.
* Um sich auf einen bestimmten Bereich zu konzentrieren, schneiden Sie mit `Image ROI` oder `Image ROI Select` vor dem Einspeisen in diesen Block.
* Wenn Sie eine separate Vordergrundmaske oder alternative Hintergrundmodelle wünschen, kombinieren Sie mit `Background Subtractor` zur Vorverarbeitung.
* Verwenden Sie `Show Image`, um die Überlagerung live in der UI zu betrachten.
* Speichern Sie Ergebnisse periodisch mit `Image Logger` oder zeichnen Sie Sitzungen mit `Record Video` für die Nachanalyse auf.

## 🛠️ Fehlersuche

* Wenn die Heatmap zu viel Rauschen zeigt, erhöhen Sie `Threshold` und ziehen Sie Vorverarbeitung wie `Blur` oder `Denoising` in Betracht.
* Wenn sich Bewegungsbereiche zu schnell aufbauen, verringern Sie `MaxValue` oder setzen Sie den Lauf regelmäßig zurück, um alte Akkumulation zu löschen.
* Wenn die Überlagerung zu schwach oder zu dominant ist, passen Sie `Alpha` und `Beta` an, bis das gewünschte visuelle Gleichgewicht erreicht ist.
* Wenn keine Bewegung erkannt wird, prüfen Sie, ob sich die Eingabeframes tatsächlich ändern und nicht identisch sind; testen Sie zur Bestätigung mit einer Live-Kameraquelle wie `Camera USB`.
