> 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/auto-contrast.md).

# Auto Contrast

Este bloque de función ajusta automáticamente el contraste de una imagen analizando su histograma y estirando los valores de píxel para mejorar la visibilidad. Es ideal para mejorar rápidamente el brillo y contraste de fotos o fotogramas de cámara sin editar curvas manualmente.

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

`Image Any` — Socket de entrada que acepta la imagen a la que se le ajustará el contraste.

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

`Image Any` — Socket de salida que proporciona la imagen con el contraste mejorado.

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

`Threshold` — Slider para establecer el porcentaje de recorte del histograma (rango típico 1–99). Valores más altos recortan más extremos antes del estirado, produciendo un contraste más marcado.

## ⚙️ Mecanismo de funcionamiento <a href="#how-it-works" id="how-it-works"></a>

Al ejecutar el bloque, analiza el histograma de la imagen de entrada para encontrar puntos de corte bajos y altos según el valor de `Threshold`. Luego reescala los valores de píxel para que el rango tonal útil ocupe todo el rango de salida disponible. El resultado es una imagen visualmente más brillante y con mayor contraste, intentando preservar detalles dentro del rango no recortado.

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

* Recorte automático del histograma para expandir el rango tonal utilizable.
* Control de un solo slider para ajustes rápidos e intuitivos.
* Funciona con imágenes en escala de grises y a color.
* Operación rápida adecuada para vista previa en tiempo real y procesamiento por lotes.

## 📝 Uso <a href="#usage" id="usage"></a>

1. Conecta una fuente de imagen al `Image Any` de entrada (por ejemplo `Camera USB`, `Camera IP (ONVIF)`, `Load Image`).
2. Ajusta el slider `Threshold` para controlar qué tan agresivo será el recorte del histograma.
3. Usa la salida `Image Any` del bloque como entrada para bloques de visualización o procesamiento adicional (por ejemplo `Show Image`, `Image Logger`, `Image Write`).

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

* Combínalo con `Denoising` o `Blur` antes de mejorar el contraste para reducir la amplificación de ruido en imágenes muy ruidosas.
* Usa `Normalize Image` si necesitas otra estrategia de normalización o quieres igualar el contraste a una imagen de referencia.
* Después del auto contraste, ajusta finamente con `Contrast-Brightness-Gamma` para un control más preciso de los medios tonos y la gamma.
* Previsualiza resultados con `Show Image` durante el ajuste y guarda resultados preferidos con `Image Write` o `Image Logger`.
* Si hay problemas de color, prueba `Adjust Colors` o `Color Space` antes de aplicar el auto contraste para obtener un mejor balance de color.

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

* Salida demasiado dura o recortada: reduce el valor de `Threshold` para conservar más luces/sombras.
* Pérdida de detalles en altas/lows: prueba con un `Threshold` menor o sigue con ajustes de `Contrast-Brightness-Gamma`.
* Ruido visible aumentado tras la mejora: aplica `Denoising` antes de auto contraste o reduce `Threshold`.
* Desplazamientos de color tras el procesamiento: experimenta con la conversión de `Color Space` o usa `Adjust Colors` previamente.

## ✅ Buenas prácticas <a href="#best-practices" id="best-practices"></a>

* Empieza con un `Threshold` bajo o moderado y aumenta hasta alcanzar el contraste deseado.
* Usa `Show Image` para comparar antes/después en tiempo real.
* En pipelines automatizados, prueba los ajustes de `Threshold` con un conjunto representativo de imágenes para evitar sobre/infra-procesamiento.
