Descargar

Transformaciones de mapeo de imágenes

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red Recordemos que una transformación geométrica es cualquier operación del tipo: R(x, y):= A(f1(x,y), f2(x,y)) Siendo f1 y f2 dos funciones cualesquiera: f1, f2: N x N ? R f1: posición en X del original para el píxel resultante (x,y) f2: posición en Y del original para el píxel resultante (x,y)

    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.

    edu.red 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)

    edu.red 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

    edu.red 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

    edu.red 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

    edu.red 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

    edu.red 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

    edu.red 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

    edu.red Ejemplos. Transformaciones elípticas. a = 0,3 a = 1,2 a = 2 En Y En X

    edu.red 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

    Partes: 1, 2
    Página siguiente