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¶
- Alimenta: medicion por vision referencia escala, pipeline medicion objeto
- Aplicada en: tracefinity (IA), PyImageSearch (Canny)
- Herramienta: opencv
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.