> 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/detections-shapes/detectors/shape-detector.md).

# Shape Detector

Este bloque de función encuentra una forma distintiva en una imagen a color mediante filtrado, umbralización y análisis de contornos. Devuelve un resultado visual y descriptores numéricos de la forma que pueden usarse en bloques posteriores.

## 📥 Entradas

`Image`\
Este conector de entrada acepta una imagen a color para analizar.

## 📤 Salidas

`Filtered Image`\
Conector de salida que proporciona la imagen binaria o filtrada usada para la extracción de contornos (retroalimentación visual del preprocesado).

`Contoured Image`\
Conector de salida que proporciona la imagen original con el contorno detectado dibujado.

`Shape Image`\
Conector de salida que proporciona la visualización recortada o separada de la forma.

`Border Coordinate`\
Conector de salida que proporciona la(s) coordenada(s) del contorno que forman el borde detectado.

`Shape Width`\
Conector de salida que proporciona el ancho de la forma detectada.

`Shape Height`\
Conector de salida que proporciona la altura de la forma detectada.

`Shape Position`\
Conector de salida que proporciona la posición del centro de la forma detectada.

`Shape Rotation`\
Conector de salida que proporciona el ángulo de rotación de la forma detectada.

## 🕹️ Controles

`Blur coefficient`\
Control tipo slider para ajustar la intensidad del desenfoque mediano antes de la umbralización. Úselo para reducir ruido preservando bordes.

`Clear spots parameter`\
Control tipo slider para configurar el tamaño del cierre morfológico. Úselo para eliminar pequeños huecos o unir partes de un objeto.

`Auto threshold ?`\
Checkbox para activar la umbralización automática (Otsu). Cuando está activado, el rango de umbral manual queda deshabilitado.

`Threshold range`\
Control tipo slider de doble extremo para establecer los valores manuales de umbral bajo/alto. Activo cuando `Auto threshold ?` está desmarcado.

`Shape area range %`\
Slider de doble extremo para limitar los contornos detectados por área relativa (porcentaje de la imagen). Úselo para ignorar objetos muy pequeños o muy grandes.

## ⚙️ Mecanismo de ejecución

* Cuando se proporciona una imagen en el conector `Image`, el bloque aplica el desenfoque seleccionado, la umbralización (automática o manual) y el cierre morfológico.
* Se extraen contornos de la imagen filtrada. El bloque selecciona contornos que entran en el `Shape area range %` configurado y devuelve el contorno válido más grande junto con las salidas relacionadas.
* Las salidas visuales muestran la imagen filtrada y el contorno detectado dibujado sobre la imagen original para verificar los resultados en la interfaz.
* Al activar/desactivar `Auto threshold ?`, el control `Threshold range` manual se habilita o deshabilita instantáneamente para facilitar la experimentación.

## ✨ Características

* Salidas visuales de depuración tanto para la imagen umbralizada como para la superposición de contornos.
* Preprocesado flexible: parámetros de `Blur coefficient` y `Clear spots parameter` para desenfoque mediano y cierre morfológico.
* Filtrado por área para evitar contornos falsos causados por ruido o bordes.
* Produce salidas visuales y descriptores numéricos (tamaño, posición, rotación) para lógica posterior o registro.

## 📝 Instrucciones de uso

1. Alimente una imagen a color en el conector `Image`.
2. Empiece con un `Blur coefficient` moderado y un `Clear spots parameter` pequeño.
3. Pruebe primero con `Auto threshold ?`. Si los resultados son ruidosos, desactívelo y ajuste `Threshold range` manualmente.
4. Ajuste `Shape area range %` para que el objeto deseado esté dentro del intervalo de área permitido.
5. Inspeccione `Filtered Image` y `Contoured Image` para confirmar la detección. Use bloques posteriores para actuar sobre `Shape Position` o `Shape Rotation`.

## 💡 Consejos y trucos

* Si la imagen tiene ruido de color o variaciones de iluminación, añada una cadena de preprocesado antes de este bloque con `HSV Filter` o `Adjust Colors` para mejorar la separación entre objeto y fondo.
* Use `Blur` o `Denoising` aguas arriba para reducir salpicaduras antes de la umbralización y obtener contornos más estables.
* Si necesita analizar solo una subregión, recorte primero con `Image ROI Select` o `Image ROI` y alimente la imagen recortada a este bloque.
* Para convertir una escena colorida y ruidosa en una entrada binaria más clara, combine con `Image Adaptive Threshold` o `Image Threshold` antes de este bloque.
* Para procesamiento geométrico o extracción de características adicional, conecte las salidas a bloques relacionados como `Approximate Contour`, `Minimum Rectangle`, `Minimum Rotated Rectangle` o `Translate Shape`.
* Visualice resultados en vivo usando el bloque `Show Image` y guarde ejemplos o registros con `Image Logger` o `Image Write` para inspección posterior.

## 🛠️ Solución de problemas

* No se encuentra contorno: aumente el límite superior de `Shape area range %` o reduzca el mínimo; compruebe `Filtered Image` para confirmar que el objeto aparece tras la umbralización.
* Demasiados contornos pequeños: aumente `Clear spots parameter` (cierre morfológico) o apriete el área mínima en `Shape area range %`.
* El objeto se divide en varios contornos: reduzca el desenfoque o disminuya el cierre morfológico, o recorte la región con `Image ROI Select` para aislar el objeto.
* La umbralización no funciona: pruebe activando `Auto threshold ?` para que el bloque seleccione un umbral adecuado automáticamente y luego ajuste `Threshold range` manual si es necesario.
