Saltar a contenido

Calibración intrínseca de la cámara

Estimar la matriz de cámara (focal, centro óptico) y los coeficientes de distorsión del lente, para "enderezar" la imagen y poder convertir píxeles en medidas reales con precisión. Prerrequisito tanto de la medición como de la estimación de pose.

Contexto

Es el paso que el tutorial de medicion por vision referencia escala señala como necesario para precisión, y la base de la estimación de pose de marcadores fiduciales aruco apriltag. Sin corregir la distorsión, una línea recta del mundo se curva en la imagen y las medidas se sesgan.

Contenido

Se fotografía un patrón conocido en varias poses y OpenCV (cv2.calibrateCamera) estima: - Matriz intrínseca K: distancias focales fx, fy y centro óptico cx, cy. - Coeficientes de distorsión: radial (barril/cojín) y tangencial.

Patrones de calibración: - Checkerboard / chessboard: clásico; preciso pero debe verse completo (no admite oclusión). - ChArUco (chessboard + marcadores ArUco): la mejor opción para calibrar según OpenCV. Combina lo mejor de ambos: los ArUco permiten interpolar las esquinas del chessboard tolerando oclusiones y vistas parciales, y esas esquinas conservan la precisión sub-pixel del chessboard (los corners de ArUco solo no son tan precisos). Funciones: CharucoBoard, CharucoDetector.detectBoard(), calibrateCameraCharuco().

Nota Holomat: contra lo que dicen fuentes secundarias, el repo público del holomat no ejecuta calibración ChArUco (no usa cv2.aruco ni calibrateCamera/undistort); solo una homografía de 4 puntos. ChArUco es la vía recomendada si quieres corrección de distorsión real para medir con precisión.

Con K y la distorsión se hace undistort de la imagen. Para una mesa cenital, esto elimina la curvatura del lente; combinado con una vista perpendicular reduce el error de medición (ver medicion por vision referencia escala y limites practicos).

Relaciones

Citas / evidencia

  • "proper camera calibration using checkerboard patterns is recommended for higher precision" — pyimagesearch medicion objetos
  • Pose estimation "requires camera's calibration parameters, which are the camera matrix and distortion coefficients" — opencv aruco

Abierto / gaps

  • Cuántas tomas y qué patrón concreto bastan para sub-mm en una mesa pequeña.