Homografía
Una matriz 3x3 que representa la transformación proyectiva entre dos planos, utilizada en unión de panoramas, corrección de perspectiva y reconocimiento de marcadores AR para describir correspondencias geométricas.
Una homografía es una matriz 3x3 que describe el mapeo proyectivo entre dos planos. Codifica cómo los puntos en una superficie plana corresponden a puntos en otra vista desde diferentes posiciones, esencial para la unión de panoramas, corrección de perspectiva y reconocimiento de marcadores AR.
La matriz H tiene 8 grados de libertad en coordenadas homogéneas:
- El punto fuente
(x, y, 1)multiplicado por H produce(x'', y'', w'') - Coordenadas reales:
(x''/ w'', y''/ w'') - Un mínimo de 4 correspondencias de puntos determina H de forma única
Pipeline de estimación:
- Detección de características: Extraer puntos clave usando SIFT u ORB
- Emparejamiento: Encontrar pares correspondientes mediante comparación de descriptores
- RANSAC: Estimar H de forma robusta mientras se rechazan valores atípicos
- Refinamiento: Minimizar el error de reproyección con Levenberg-Marquardt
La homografía es un superconjunto de la transformación afín - no preserva el paralelismo, permitiendo la corrección de distorsión trapezoidal y de perspectiva. Sin embargo, una sola homografía asume que todos los puntos están en un plano; escenas con profundidad variable requieren múltiples homografías o enfoques alternativos. En OpenCV, cv2.findHomography() estima la matriz y cv2.warpPerspective() la aplica.