> 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/mean-shift-filtering.md).

# Mean Shift Filtering

Esta función aplica mean shift filtering a imágenes RGB para suavizar regiones de color manteniendo los bordes. Es útil para reducir ruido, segmentación por color y preparar imágenes para análisis de contornos o blobs.

## 📥 Entradas

`ImageRGB` Imagen RGB de entrada que se procesará.

(aquí el conector es un socket de entrada)

## 📤 Salidas

`ImageRGB` Imagen RGB filtrada (mismo tipo que la entrada).

(aquí el conector es un socket de salida)

## 🕹️ Controles

`Spatial Radius` Slider que controla el vecindario espacial usado para el filtrado (más pequeño = se preservan detalles finos).\
Rango: 1 — 3

`Color Window Radius` Slider que controla la ventana de similitud de color (más grande = mayor suavizado de color).\
Rango: 20 — 100

`Maximum Level Radius` Slider que ajusta el número de niveles de pirámide usados internamente (más alto = suavizado más agresivo, pero más lento).\
Rango: 1 — 5

## ⚙️ Mecanismo de ejecución

Cuando este bloque recibe una imagen a través de la entrada `ImageRGB`, aplica mean shift filtering usando los valores establecidos en los tres sliders y envía la imagen procesada a la salida `ImageRGB`. Los cambios en cualquiera de los sliders se aplican en la siguiente evaluación, por lo que puedes ajustar los parámetros de forma interactiva mientras previsualizas los resultados.

## ✨ Características

* Suaviza regiones de color manteniendo los bordes de los objetos nítidos.
* Reduce ruido y detalles de textura pequeños, facilitando la segmentación y la detección de formas.
* Ajuste de parámetros en tiempo real mediante sliders para experimentar rápidamente.

## 📝 Recomendaciones de uso

1. Introduce una imagen RGB en la entrada `ImageRGB`.
2. Ajusta `Spatial Radius` para controlar cuánto suavizado espacial local se aplica.
3. Aumenta `Color Window Radius` para fusionar colores similares en regiones más homogéneas.
4. Usa `Maximum Level Radius` con moderación — valores altos incrementan el tiempo de procesamiento.
5. Inspecciona el resultado desde la salida `ImageRGB` en un bloque de vista previa o en el visor de imágenes.

## 💡 Tips y trucos

* Si tu imagen de origen es muy grande y el procesamiento es lento, añade `Image Resizer` antes de este bloque para reducir dimensiones y acelerar el procesamiento.
* Para entradas ruidosas, considera un ligero `Blur` antes del mean shift para eliminar ruido del sensor sin perder bordes importantes.
* Después del mean shift, usa `Find Contour` o `Blob Detector` para extraer formas de objetos limpias desde las regiones de color suavizadas.
* Para enfocar el procesamiento en un área específica, recorta primero con `Image ROI Select` y alimenta la imagen recortada a este bloque.
* Usa `HSV Filter` o `Color Quantizer and Clustering` tras el mean shift para refinar la segmentación basada en color.
* Previsualiza resultados con `Show Image` y guarda fotogramas interesantes con `Image Logger` o `Image Write`.

(las pistas anteriores hacen referencia a bloques de función complementarios disponibles en el sistema)

## 🛠️ Resolución de problemas

* Rendimiento lento: reduce `Color Window Radius` o `Maximum Level Radius`, o disminuye el tamaño de la imagen con `Image Resizer`.
* Detalles sobre-suavizados: reduce `Color Window Radius` y/o `Spatial Radius` para preservar características finas.
* Segmentación desigual debido a cambios de iluminación: prueba combinar con `HSV Filter` o ajusta la iluminación (configuración de captura) antes del procesamiento.
* Colores inesperados o artefactos: visualiza pasos intermedios con `Show Image` para comprobar las entradas y considera usar `Blur` o denoising aguas arriba.
