> 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/shape-analysis/approximate-contour.md).

# Approximate Contour

Esta función simplifica un contorno dado creando un polígono envolvente con un número reducido de aristas. Visualiza tanto el contorno original como la aproximación simplificada, y proporciona información geométrica como el centro, el perímetro y el número de esquinas.

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

`Image Any` La imagen utilizada para la visualización (dibuja el contorno original y la aproximación sobre esta imagen).

`Contour` El contorno de entrada que se va a aproximar (datos de forma).

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

`Image Any` Imagen que muestra el contorno original y el polígono aproximado con marcadores en las esquinas.

`Contour` El contorno aproximado como salida de forma.

`Center` El centroide del contorno aproximado (x, y).

`Perimeter` Longitud del perímetro del contorno aproximado.

`Number of corners` Número de vértices en el polígono aproximado.

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

`Epsilon` Deslizador para establecer la tolerancia de aproximación. Valores más altos producen polígonos más simples con menos esquinas; valores más bajos conservan más detalle.

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

* Al ejecutarse, el bloque recibe una imagen y un contorno a través de sus entradas.
* El bloque usa el control `Epsilon` para determinar cuán agresiva será la simplificación del contorno (epsilon se aplica en relación al perímetro del contorno).
* El bloque crea un polígono simplificado y dibuja tanto el contorno original como la aproximación en la imagen proporcionada para retroalimentación visual.
* A continuación, calcula el centroide, el perímetro y el número de esquinas del contorno aproximado y envía estos valores por las salidas.

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

* Comparación visual: el contorno original (un color) y el polígono aproximado (otro color) se muestran en la imagen de salida, con puntos de esquina marcados para inspección rápida.
* Salidas numéricas: se proporcionan posición del centro, perímetro y número de esquinas para lógica posterior o registro.
* Aproximación ajustable: el deslizador ofrece una forma intuitiva de balancear entre simplificación y fidelidad.

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

1. Proporcione un contorno (por ejemplo, desde un bloque `Find Contour`) a la entrada `Contour`.
2. Proporcione la imagen que desea anotar a la entrada `Image Any`.
3. Ajuste `Epsilon` hasta que la forma aproximada coincida con el nivel de detalle deseado.
4. Use las salidas para visualización, medición o procesamiento adicional.

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

* Para obtener contornos adecuados para la aproximación, use primero el bloque `Find Contour`. Ese bloque detecta contornos que puede alimentar a este bloque.
* Preprocese la imagen fuente con `Blur`, `Image Threshold` o `Morphological Transformations` para reducir el ruido y producir contornos más limpios.
* Use `Image ROI` o `Image ROI Select` para recortar la región de interés antes de la detección y aproximación de contornos, lo que acelera el procesamiento y evita formas irrelevantes.
* Después de la aproximación, puede querer:
  * Convertir el contorno aproximado en un recorte de imagen con `Contour to Image` para una inspección focalizada.
  * Ajustar formas envolventes simples usando `Minimum Rectangle`, `Minimum Circle` o `Minimum Ellipse` para mediciones o tareas de alineamiento.
  * Rellenar la forma aproximada con `Fill Contour` cuando necesite una máscara binaria de la región.
* Use `Draw Rectangle`, `Draw Point` u otros bloques de dibujo para superponer anotaciones adicionales o combinar con resultados de detección.
* Para desplazar formas en el espacio de coordenadas (por ajustes de ROI o alineamiento), use `Translate Shape`.

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

* Si el polígono aproximado es demasiado toscamente simplificado o demasiado detallado, ajuste gradualmente el deslizador `Epsilon` hasta obtener el número de esquinas deseado.
* Si las salidas de contorno están vacías o no son válidas, asegúrese de que la fuente del contorno (por ejemplo, `Find Contour`) esté produciendo formas válidas y que los pasos de preprocesamiento generen una separación clara entre primer plano y fondo.
* Si los marcadores visuales están desplazados después de recortes o transformaciones de coordenadas, verifique que los bloques sucesivos (ROI, traducción o dibujo) usen sistemas de coordenadas consistentes.
