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

# HeatMap

Esta función visualiza dónde se acumula el movimiento a lo largo del tiempo dentro de un campo de visión fijo. Crea una superposición en color que muestra las áreas con movimiento frecuente, útil para vigilancia, análisis de tráfico o mapas de actividad.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

`Image Any` Secuencia de imágenes en escala de grises o color para analizar el movimiento.

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

`Image Any` Imagen en color con una superposición de heatmap que resalta las áreas con movimiento frecuente.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`Threshold` Ajusta la sensibilidad para la detección de primer plano. Valores más altos hacen que el bloque ignore cambios pequeños y se enfoque en movimientos más fuertes.

`MaxValue` Controla cuánto contribuye cada evento de movimiento detectado al heatmap acumulado. Valores más grandes aumentan la contribución de cada evento.

`Alpha` Controla el peso del primer frame original cuando se mezcla con la superposición en color. Valores más bajos hacen la superposición más dominante.

`Beta` Controla el peso del mapa de movimiento acumulado colorizado al mezclarlo. Valores más altos hacen que el heatmap sea más prominente.

## ⚙️ Mecanismo de ejecución <a href="#running-mechanism" id="running-mechanism"></a>

* En la primera ejecución, el bloque captura y preserva el primer frame como referencia de fondo.
* Para los frames siguientes calcula los píxeles de primer plano y los umbraliza para detectar eventos de movimiento.
* Los píxeles de movimiento detectados se acumulan en una imagen interna única a lo largo del tiempo.
* La imagen acumulada se coloriza y se mezcla con el primer frame preservado usando los controles `Alpha` y `Beta` para producir la superposición final.
* El bloque continúa acumulando hasta que la ejecución se detenga o el bloque sea reiniciado.

## 🎯 Características <a href="#features" id="features"></a>

* Acumulación continua para mapas de calor de movimiento a largo plazo.
* Conjunto de controles sencillo para balancear sensibilidad y fuerza de visualización.
* Superposición en tiempo real para ver dónde ocurre la mayor actividad en la escena.
* Manejo integrado de reinicio completo para borrar datos acumulados entre ejecuciones.

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Alimente una cámara en vivo o una secuencia de frames de video en la entrada `Image Any`.
2. Ajuste `Threshold` para centrarse en movimientos relevantes e ignorar ruido.
3. Ajuste `MaxValue` para establecer cuánto contribuye cada evento al heatmap.
4. Use `Alpha` y `Beta` para equilibrar la visibilidad entre la escena original y el heatmap colorizado.
5. Detenga o reinicie la ejecución cuando quiera limpiar el heatmap acumulado.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Para fuentes de cámara en vivo, combine este bloque con `Camera USB`, `Camera IP (ONVIF)`, o `Stream Reader` para alimentar frames continuos.
* Si los frames de entrada son grandes y solo necesita una vista general, añada `Image Resize` antes de este bloque para reducir procesamiento y acelerar la acumulación.
* Para centrarse en una región específica, recorte con `Image ROI` o `Image ROI Select` antes de alimentar frames a este bloque.
* Si quiere una máscara de primer plano separada o modelos de fondo alternativos, pruebe combinando con `Background Subtractor` para detección previa al acumulado.
* Use `Show Image` para previsualizar la superposición en la UI en tiempo real.
* Guarde resultados periódicamente con `Image Logger` o grabe sesiones con `Record Video` para análisis posterior.

## 🛠️ Resolución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Si el heatmap muestra demasiado ruido, aumente `Threshold` y considere preprocesar con `Blur` o `Denoising`.
* Si las áreas de movimiento crecen demasiado rápido, reduzca `MaxValue` o reinicie periódicamente la ejecución para limpiar la acumulación antigua.
* Si la superposición es muy tenue o muy fuerte, ajuste `Alpha` y `Beta` hasta lograr el balance visual deseado.
* Si no se detecta movimiento, verifique que los frames de entrada estén cambiando y no sean idénticos; pruebe con una fuente de cámara en vivo como `Camera USB` para confirmar el funcionamiento.
