Pipeline end-to-end de medición de un objeto¶
Receta completa para convertir una foto cenital de un objeto en medidas reales (mm) y/o en un contorno utilizable, usando una referencia de escala. Es la implementación concreta del objetivo "alimentar el computador con medidas exactas".
Contexto¶
Une medicion por vision referencia escala, deteccion bordes contornos, calibracion intrinseca camara y marcadores fiduciales aruco apriltag en un flujo reproducible. Es lo que hacen tracefinity y el tutorial de PyImageSearch.
Contenido¶
Pasos¶
- Calibrar la cámara una vez (calibracion intrinseca camara): obtener
Ky distorsión; aplicarundistorta cada captura. Crítico para precisión. - Colocar la referencia: hoja A4 (210×297 mm) bajo el objeto, o un marcador ArUco de tamaño conocido en el plano.
- Detectar la referencia:
- A4 → detectar sus 4 esquinas (contorno rectangular) →
getPerspectiveTransform→ rectificar perspectiva y fijar escala (mm/px) a la vez. - ArUco →
detectMarkers+solvePnP→ escala + pose 3D. - Segmentar el objeto (deteccion bordes contornos): Canny+morfología+
findContours(objeto simple sobre fondo limpio) o segmentación IA (objeto complejo/reflectante, como tracefinity). - Medir:
minAreaRectpara dimensiones, o el polígono completo del contorno; dividir px porpixels_per_metric→ mm reales. - Usar el resultado: proyectar las medidas/contorno sobre la mesa, exportar a Gridfinity/STL/SVG, o alimentar CAD/CNC.
Pseudocódigo¶
img = undistort(capture(), K, dist) # paso 1
H, mm_per_px = rectify_from_reference(img) # paso 2-3 (A4 o ArUco)
flat = warpPerspective(img, H) # vista cenital a escala
contour = detect_object_contour(flat) # paso 4
w_mm, h_mm = measure(contour, mm_per_px) # paso 5
Claves de precisión (ver limites practicos)¶
- Vista lo más perpendicular posible + undistort → reduce las dos fuentes de error que cita PyImageSearch.
- La A4 rectifica perspectiva además de dar escala → preferible a una referencia puntual cuando hay ángulo.
Relaciones¶
- Integra: medicion por vision referencia escala, deteccion bordes contornos, calibracion intrinseca camara, marcadores fiduciales aruco apriltag
- Implementado por: tracefinity
- Salida hacia: gridfinity, aplicaciones manualidades
- Limitado por: limites practicos
Citas / evidencia¶
- "pixels_per_metric = object_width_in_pixels / known_width_in_units" — pyimagesearch medicion objetos
- Tracefinity: ajustar esquinas del papel para escala + IA traza outline + contornos OpenCV — tracefinity gridfinity
Abierto / gaps¶
- Implementación de referencia (script) que combine A4 + ArUco con fallback. Medición de error real.