> 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/french/function-blocks/blocks-reference/image-transformations/transformation-filters/heatmap.md).

# HeatMap

Ce bloc de fonction visualise où le mouvement s'accumule au fil du temps dans un champ de vision fixe. Il crée une superposition colorée mettant en évidence les zones de mouvement fréquent, utile pour la surveillance, l'analyse du trafic ou la création de heatmaps d'activité.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`Image Any` Image (niveaux de gris ou couleur) à analyser pour détecter le mouvement.

## 📤 Sorties <a href="#outputs" id="outputs"></a>

`Image Any` Image couleur avec une superposition heatmap qui met en évidence les zones de mouvement fréquent.

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

`Threshold` Ajuste la sensibilité pour la détection du premier plan. Des valeurs plus élevées font ignorer les petits changements et se concentrer sur les mouvements plus marqués.

`MaxValue` Contrôle combien chaque événement de mouvement détecté ajoute à la heatmap accumulée. Des valeurs plus grandes augmentent la contribution de chaque événement.

`Alpha` Contrôle le poids de la première image originale lors du mélange avec la heatmap colorée. Des valeurs plus faibles rendent la superposition plus visible.

`Beta` Contrôle le poids de la carte de mouvement accumulée colorée lors du mélange. Des valeurs plus élevées rendent la heatmap plus proéminente.

## ⚙️ Mécanisme d'exécution <a href="#running-mechanism" id="running-mechanism"></a>

* Lors de la première exécution, le bloc capture et conserve la première image comme référence de fond.
* Pour les images suivantes, il calcule les pixels du premier plan et les seuiller pour détecter les événements de mouvement.
* Les pixels de mouvement détectés sont accumulés dans une image interne unique au fil du temps.
* L'image accumulée est colorisée et mélangée avec la première image conservée en utilisant les contrôles `Alpha` et `Beta` pour produire la superposition finale.
* Le bloc continue d'accumuler jusqu'à l'arrêt de l'exécution ou la réinitialisation du bloc.

## 🎯 Fonctionnalités <a href="#features" id="features"></a>

* Accumulation continue pour des heatmaps de mouvement sur le long terme.
* Jeu de contrôles simple pour équilibrer sensibilité et force de visualisation.
* Superposition en temps réel pour voir où l'activité est la plus importante dans la scène.
* Gestion intégrée de la réinitialisation pour effacer les données accumulées entre deux exécutions.

## 📝 Instructions d'utilisation <a href="#usage" id="usage"></a>

1. Alimentez ce bloc avec un flux d'images d'une caméra en direct ou d'une vidéo via l'entrée `Image Any`.
2. Réglez `Threshold` pour vous concentrer sur les mouvements significatifs et ignorer le bruit.
3. Ajustez `MaxValue` pour définir l'impact de chaque événement sur la heatmap.
4. Utilisez `Alpha` et `Beta` pour équilibrer la visibilité entre la scène originale et la heatmap colorée.
5. Arrêtez ou réinitialisez l'exécution quand vous souhaitez effacer la heatmap accumulée.

## 💡 Conseils et astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Pour des sources en direct, associez ce bloc à `Camera USB`, `Camera IP (ONVIF)` ou `Stream Reader` pour fournir des images continues.
* Si vos images d'entrée sont volumineuses et que vous n'avez besoin que d'un aperçu, ajoutez `Image Resize` avant ce bloc pour réduire le traitement et accélérer l'accumulation.
* Pour se concentrer sur une région spécifique, recadrez avec `Image ROI` ou `Image ROI Select` avant d'alimenter ce bloc.
* Si vous souhaitez un masque de premier plan séparé ou d'autres modèles d'arrière-plan, combinez avec `Background Subtractor` pour une détection alternative du premier plan avant l'accumulation.
* Utilisez `Show Image` pour prévisualiser la superposition en direct dans l'interface.
* Sauvegardez périodiquement les résultats avec `Image Logger` ou enregistrez des sessions avec `Record Video` pour une analyse ultérieure.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Si la heatmap contient trop de bruit, augmentez `Threshold` et envisagez un prétraitement avec `Blur` ou `Denoising`.
* Si les zones de mouvement s'élargissent trop rapidement, réduisez `MaxValue` ou réinitialisez périodiquement l'exécution pour effacer l'accumulation ancienne.
* Si la superposition est trop faible ou trop forte, ajustez `Alpha` et `Beta` pour obtenir l'équilibre visuel souhaité.
* Si aucun mouvement n'est détecté, vérifiez que les images d'entrée changent et ne sont pas identiques ; essayez d'alimenter une source caméra en direct comme `Camera USB` pour confirmer le fonctionnement.
