# HSV Filter

Este bloque te permite aislar colores en una imagen ajustando los rangos de Hue, Saturation y Value. Úsalo para crear máscaras de color, extraer regiones coloreadas o combinar primer plano y fondo para visualización.

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

Este bloque tiene la siguiente entrada:

* `Image Any` Entrada que acepta la imagen a procesar.

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

Este bloque proporciona estas salidas:

* `Result Image` Imagen filtrada que muestra solo los píxeles dentro de los rangos HSV seleccionados (primer plano).
* `HSV Image` La representación convertida a HSV de la imagen de entrada.
* `Masked Image` Máscara binaria/escala de grises (canal único) que muestra qué píxeles pasaron la prueba HSV.
* `Added Image` Primer plano mezclado con el fondo para una visualización más clara.
* `Background Image` La porción de fondo (escala de grises) donde los píxeles enmascarados han sido removidos.

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

* `Hue (Min-Max)` Par de deslizadores para establecer los límites inferior y superior de hue.
* `Saturation (Min-Max)` Par de deslizadores para establecer los límites inferior y superior de saturación.
* `Value (Min-Max)` Par de deslizadores para establecer los límites inferior y superior de valor/brillo.

Ajusta estos deslizadores hasta que la `Masked Image` resalte el rango de color objetivo excluyendo las áreas no deseadas.

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

* Selección de color visual e interactiva con tres deslizadores de rango.
* Vista previa de la máscara en vivo para validar rápidamente los rangos seleccionados.
* Salidas tanto de la máscara como de visualizaciones para usarlas en análisis o procesamiento posterior.
* Combina el primer plano enmascarado con un fondo en escala de grises para verificar las regiones extraídas.

## 📝 Cómo usar <a href="#usage" id="usage"></a>

1. Conecta un bloque que produzca imagen a la entrada `Image Any`.
2. Mueve los deslizadores `Hue (Min-Max)`, `Saturation (Min-Max)` y `Value (Min-Max)` para aislar el color deseado.
3. Inspecciona la `Masked Image` para confirmar la selección.
4. Usa `Result Image` o `Added Image` para salidas visuales, y `Masked Image` para procesamiento adicional o mediciones.

## ⚙️ Qué sucede al ejecutarlo <a href="#evaluation" id="evaluation"></a>

Al ejecutarse, el bloque convierte la imagen de entrada al espacio HSV, construye una máscara binaria usando los rangos de los deslizadores, produce una imagen enmascarada de color (primer plano), un fondo en escala de grises y una visualización combinada para facilitar la validación.

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

* Preprocesa para reducir ruido: pasa la entrada por `Blur` antes de este bloque para suavizar imágenes ruidosas y obtener máscaras más limpias.
* Mejor separación en imágenes grandes: usa `Image Resize` para reducir el tamaño durante el ajuste interactivo y luego procesa en resolución completa cuando las configuraciones estén finalizadas.
* Enfócate en la zona de interés: recorta la entrada con `Image ROI Select` antes de aplicar HSV para evitar confusiones de color con regiones circundantes.
* Refina la máscara: combina la `Masked Image` de este bloque con `Apply Mask` para filtrar otra imagen o encadena con `Image Threshold` para una limpieza binaria adicional.
* Inspección visual: conecta la salida a `Show Image` para abrir el visor de imágenes y revisar los resultados en una ventana más grande.
* Guarda resultados: utiliza `Image Logger` o `Image Write` para guardar imágenes enmascaradas o visualizaciones una vez que tengas la configuración deseada.
* Uso con detectores: después de aislar una región de color, pasa la imagen enmascarada o la `Result Image` a bloques de detección como `Find Object` o `Blob Detector` para localizar características específicas que coincidan con el color seleccionado.
* Análisis de fondo: combina con `Background Subtractor` cuando trabajes con flujos de video para separar objetos coloreados en movimiento de fondos estáticos.

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

* Poca o ninguna máscara: verifica que tus deslizadores cubran el rango de hue correcto para el color objetivo y que la imagen de entrada esté en el espacio de color esperado (fotografiada con iluminación normal).
* Máscara demasiado amplia: estrecha los rangos de `Saturation (Min-Max)` y `Value (Min-Max)` para excluir colores similares no deseados y reflejos.
* Ruido excesivo en la máscara: añade `Blur` o ejecuta bloques de limpieza binaria como `Image Threshold` / operaciones morfológicas después de la máscara para eliminar pequeñas salpicaduras.
* Problemas de rendimiento: redimensiona la imagen con `Image Resize` durante el ajuste interactivo; aplica la configuración en resolución completa solo cuando esté lista.

Si necesitas orientación más específica sobre combinaciones de bloques para una tarea concreta, describe el escenario (tipo de cámara, color objetivo, tiempo real vs. offline) y se podrán sugerir combinaciones recomendadas.
