Las transformaciones vistas hasta ahora tienen formas particulares y son continuas. Un mapeo (mapping) es cualquier transformación arbitraria, definida por un par de funciones f1 y f2, continuas o escalonadas.
f1(x,y)f2(x,y) A R Mapeo inverso: el mapeo puede venir dado al revés: R(g1(x,y), g2(x,y)):= A(x,y) Significado: el píxel (x,y) en la imagen original se mueve a la posición (g1(x,y), g2(x,y)). Normalmente trabajaremos con mapeo directo.
Existen infinitos mapeos. Cualquier par de funciones locas, (f1, f2), es posible, pero ¿cuáles son plausibles? g1(x,y)g2(x,y) (x,y) (x,y)
Ejemplo 1. Difuminado aleatorio, de radio a:f1(x,y):= x+random(2a+1)-a f2(x,y):= y+random(2a+1)-a A R1 R2 R3 a = 1 a = 5 a = 20
Ejemplo 2. Pixelado: f1(x,y):= ?x/8?*8; f2(x,y):= ?y/8?*8 A R Aplicado sólo en la ROI. Ejemplo 3. Efecto de cristal a cuadros:f1(x,y):= x–x mod 30+y mod 30; f2(x,y):= y–y mod 30+x mod 30 A R
Los mapeos pueden servir para simular las deformaciones producidas por fenómenos físicos naturales. Por ejemplo, ¿cómo se deforma una imagen pegada a un cilindro (como una etiqueta de una botella)? La coordenada Y no se modifica: f2(x, y):= y ¿Qué pasa con la X? La X de R es el coseno del ángulo correspondiente en A. A R
Conclusión. Transformacióncilíndrica en X: R(x,y):= A(arcos(1-x/(mx/2))·mx/p, y) xA xR 0 a = arcos (1-xR/(mx/2)) 0 mx mx/2 mx/2 mx a 1 -1 0 1-xR/(mx/2) xA = a·mx/p Representación de la función f(x):= arcos(1-x/(mx/2))·mx/p con mx=10
Ejemplo. Aplicación de la transformación cilíndrica. Imagen de entrada Tr. cilíndrica en X Tr. cilíndrica en Y Interpretación de la transformación cilíndrica
El efecto se puede graduar, si en lugar de un semicírculo consideramos una semielipse, más o menos ovalada. xA xR 0 mx Ahora tenemos que medir el ángulo en una elipse. Si tomamos x’= 1-xR/(mx/2), ent.: f1(x, y):= atan(a·sqrt(1-x’2)/x’)mx/p
siendo a el segundo radio de la elipse (en relación al ancho de la imagen). 0 mx 0 mx a 1 1 a 1 a=4 a=2 a=1/4 a=1/2 a=1 a
Ejemplos. Transformaciones elípticas. a = 0,3 a = 1,2 a = 2 En Y En X
De forma parecida, podemos definir otros muchos tipos de transformaciones, basados en deformaciones producidas por fenómenos físicos naturales (o no). Método: estudiar la forma (matemática) de la deformación, y obtener el par de funciones f1(x,y), f2(x,y). Ejemplo. Transformaciones geométricas genéricas. Estirar: simula un panel abombado hacia afuera Pinchar: simula apretar la superficie del panel Ondulación: simula una deformación por ondas de agua
Página siguiente |