Las transformaciones bilineal y perspectiva se pueden ver como generalizaciones de las afines:
Transformación afín: cualquier rombo se mapea en un rombo.
Transf. bilineal y perspectiva: cualquier cuadrilátero se transforma en otro cuadrilátero (ambos convexos).
Imagen original
Transf. afín
Transf. bilineal
Transf. perspectiva
Las transformaciones afines conservan el paralelismo de las líneas; bilineales y perspectivas no.
La transf. perspectiva es la proyección perspectiva de un plano, colocado en un espacio 3D.
La transf. bilineal se suele usar como una variante rápida de la transf. perspectiva, aunque no es exactamente igual. Es decir, se debería aplicar perspectiva, pero se usa bilineal por eficiencia.
Imagen original
Transform. afín
Transform. bilineal
Transform. perspectiva
Transformaciones afines:
R(x,y):= A(
·
)
Transformaciones bilineales:
R(x,y):= A(
·
)
Transformaciones perspectivas:
R(x,y):= A(x’/z’, y’/z’)
·
con:
=
Observar el nuevo factor que aparece
Pero, ¿cuántos grados de liber-tad hay aquí?
+
Recordar la proyección perspectiva en el proceso de formación de imágenes.
La idea de la transf. perspectiva es: dado un plano (la imagen de entrada) colocarlo en una posición cualquiera del espacio 3D y después proyectarlo sobre el plano de imagen Z=1.
Centro de Proyección (0,0,0)
Plano de Proyección
Distancia focal = 1
X, Y
Z
Eje óptico
Punto principal
P = (x,y,z)
P’
La proyección del punto P = (x, y, z) es P’ = (x/z, y/z)
1) Colocar la imagen plana en el espacio 3D
Centro de Proyección
Plano de Proyección
X
Z
Eje óptico
Y
R(x,y):= A(x’/z’, y’/z’)
·
=
2) Proyección perspectiva de la imagen en el espacio
La transf. bilineal es una simulación de la perspectiva. También mapea un rectángulo en un cuadrilátero.
Pero el resultado no es exactamente una perspectiva. La diferencia es mayor cuanto mayor efecto de perspectiva.
Transformac. bilineales
Transformac. perspectivas
Problema: dados 4 puntos en la imagen original y otros 4 en la imagen de destino, calcular las transformaciones bilineal y perspectiva que producen ese mapeo.
Solución: plantear los sistemas de ecuaciones correspondientes y resolver las incógnitas.
X
Y
Coordenadas en A
(x1a, y1a)
(x2a, y2a)
(x4a, y4a)
X
Y
Coordenadas en R
(x1r, y1r)
(x2r, y2r)
(x4r, y4r)
Transformación bilineal / perspectiva
(x3a, y3a)
(x3r, y3r)
Transformación bilineal: 8 incógnitas. Cada par de puntos equivalentes produce 2 ecuaciones ? con 4 puntos es necesario y suficiente.
Ecuaciones a resolver:
c11x1a+c12y1a+c13x1ay1a+c14=x1r; c21x1a+c22y1a+c23x1ay1a+c24= y1r
……… ……..
c11x4a+c12y4a+c13x4ay4a+c14=x4r; c21x4a+c22y4a+c23x4ay4a+c24= y4r
Para que haya solución, los cuadriláteros deben ser convexos y no deben haber tres puntos en la misma recta.
R(x,y):= A(
·
)
Transformación perspectiva: 9 incógnitas, 4 puntos… ¿?
R(x,y):= A(x’/z’, y’/z’)
·
=
Cada par de puntos (xia,yia), (xir,yir) produce dos ecuaciones:
(c11xia+c12yia+c13)/(c31xia+c32yia+c33)= xir
(c21xia+c22yia+c23)/(c31xia+c32yia+c33)= yir
Sistema homogéneo e indeterminado (8 ec., 9 inc.).
Observar que aparece un factor de escala. Si multiplicamos todas las constantes por k el sistema no cambia.
Se puede resolverlo “fijando” la incógnita c33=1. Nos quedamos con 8 incógnitas, resolvemos y listos.
Indicaciones:
Las transformaciones bilineales y perspectivas “contienen” a las afines:
Transf. bilineal: será equivalente a una afín si c13=c23=0
Transf. perspectiva: equivalente a una afín si c31=c32=0
Los tres tipos de transformaciones son invertibles: dada una transf. se puede definir la transf. inversa, de manera que se obtenga la imagen original (o casi).
Página siguiente |