Saltar a contenido

Detección de bordes y contornos

Aislar el contorno de un objeto en una imagen para medirlo o generar una plantilla/contenedor a su medida. Es el paso entre "ver el objeto" y "tener su geometría".

Contexto

Necesario para medir objetos (junto a medicion por vision referencia escala) y para generar artefactos a la medida del objeto (contenedores Gridfinity, plantillas de corte). Hay dos familias: clásica (bordes) y moderna (segmentación con IA).

Contenido

Enfoque clásico (OpenCV, PyImageSearch): 1. Escala de grises + desenfoque gaussiano (kernel 7×7). 2. Canny (umbrales 50–100) para detectar bordes. 3. Morfología: dilatación + erosión para cerrar huecos en los bordes. 4. cv2.findContours() (recuperación externa) → contornos. 5. Ordenar contornos (izq→der) y/o filtrar por área para aislar el objeto. 6. cv2.minAreaRect() para la caja delimitadora rotada y medir.

Funciona bien con buen contraste objeto/fondo (de ahí poner el objeto sobre papel blanco A4).

Enfoque moderno (IA, Tracefinity): modelos de segmentación/quitado-de-fondo (IS-Net, BiRefNet, InSPyReNet) o Gemini para extraer la silueta, incluso de objetos complejos o reflectantes; el resultado se convierte a polígonos editables vía contornos de OpenCV. Más robusto que Canny ante fondos ruidosos, sombras y objetos brillantes.

Recomendación: Canny para objetos simples sobre fondo limpio; segmentación por IA para objetos irregulares/reflectantes o fondos no controlados.

Relaciones

Citas / evidencia

  • Pipeline Canny: "grayscale… Gaussian blur (7×7)… Canny (50–100)… dilation then erosion… cv2.findContours" — pyimagesearch medicion objetos
  • Tracefinity: outlines IA "convert to editable polygons via OpenCV contour extraction" — tracefinity gridfinity

Nota: objetos con huecos internos (cavidades)

Para piezas con huecos (p.ej. una llave con anillo, una herramienta calada), findContours con modo RETR_CCOMP o RETR_TREE devuelve la jerarquía de contornos: contorno externo + contornos internos (huecos) como hijos. Así se puede generar una cavidad Gridfinity que respete el hueco, o rellenarlo si se prefiere una cavidad sólida. La segmentación por IA (tracefinity) suele devolver solo la silueta externa, por lo que los huecos internos se editan a mano en esos flujos.

Abierto / gaps

  • Flujo concreto de edición de cavidades con huecos internos en un generador Gridfinity.