Transformación afín
Una transformación geométrica lineal que combina traslación, rotación, escalado y cizallamiento, preservando las líneas paralelas mientras deforma la geometría de la imagen - una operación fundamental del procesamiento de imágenes.
Una transformación afín combina traslación, rotación, escalado y cizallamiento preservando las líneas rectas y el paralelismo. Es fundamental para el redimensionamiento, la rotación, la corrección de inclinación y el aumento de datos en aprendizaje automático.
Se representa mediante una matriz 2×3:
- Formato:
[[a, b, tx], [c, d, ty]]donde(a, b, c, d)codifican la transformación lineal y(tx, ty)la traslación - 6 grados de libertad, determinados por 3 correspondencias de puntos
- En coordenadas homogéneas: matriz 3×3 con fila inferior
[0, 0, 1]
Tipos comunes:
- Traslación: Solo se establecen
tx, ty. Desplaza la imagen horizontal y verticalmente - Rotación:
a=cos(θ), b=-sin(θ), c=sin(θ), d=cos(θ) - Escalado:
a=sx, d=sy. Escala cada eje de forma independiente - Cizallamiento: Valores no nulos en
boc. Inclina la imagen diagonalmente
En OpenCV, cv2.getAffineTransform() calcula la matriz a partir de 3 puntos y cv2.warpAffine() la aplica. Las transformaciones afines aleatorias son una técnica estándar de aumento de datos en aprendizaje profundo, mejorando la generalización del modelo al exponerlo a variaciones geométricas.