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
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
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
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
Al ejecutarse, el bloque recibe una imagen y un contorno a través de sus entradas.
El bloque usa el control
Epsilonpara 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
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
Proporcione un contorno (por ejemplo, desde un bloque
Find Contour) a la entradaContour.Proporcione la imagen que desea anotar a la entrada
Image Any.Ajuste
Epsilonhasta que la forma aproximada coincida con el nivel de detalle deseado.Use las salidas para visualización, medición o procesamiento adicional.
💡 Consejos y recomendaciones
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 ThresholdoMorphological Transformationspara reducir el ruido y producir contornos más limpios.Use
Image ROIoImage ROI Selectpara 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 Imagepara una inspección focalizada.Ajustar formas envolventes simples usando
Minimum Rectangle,Minimum CircleoMinimum Ellipsepara mediciones o tareas de alineamiento.Rellenar la forma aproximada con
Fill Contourcuando necesite una máscara binaria de la región.
Use
Draw Rectangle,Draw Pointu 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
Si el polígono aproximado es demasiado toscamente simplificado o demasiado detallado, ajuste gradualmente el deslizador
Epsilonhasta 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.
Última actualización