7.2. TRANSFORMACIONES ELÁSTICAS

 

Las transformaciones geométricas generalmente modifican las relaciones espaciales entre píxeles en una imagen. Dichas transformaciones a menudo son llamadas “Transformaciones de Hoja Flexible”, porque pueden ser vistas como el proceso de imprimir una imagen sobre una hoja de goma (flexible), y entonces estrechar o expandir la hoja de acuerdo a un conjunto de reglas predefinidas. Utilizando una transformación matemática, los píxeles son reubicados desde sus coordenadas espaciales (x,y) en la imagen de entrada  a una nueva coordenada en la imagen de salida [Jain89].

Las transformaciones geométricas son utilizadas para mover, rotar, redimensionar, o desfigurar arbitrariamente la geometría de una imagen. Estas transformaciones pueden ser utilizadas para corregir distorsiones geométricas en una imagen, así como para agregar efectos visuales.


Las operaciones geométricas se realizan modificando el brillo de un píxel desde sus coordenadas espaciales de origen en la imagen de entrada hacia nuevas coordenadas en la imagen de salida. La ecuación general para estas operaciones es:

 

donde (x’,y’) son las coordenadas transformadas del brillo del píxel ubicadas originalmente en las coordenadas (x,y). Es claro que cada ubicación de los píxeles de entrada es calculada a través de esta transformación, creando una ubicación de píxel de salida transformada geométricamente.

En términos de procesamiento digital de imágenes, una transformación geométrica consiste en dos operaciones básicas:

    1.Una transformación espacial, la cual define el nuevo arreglo de píxeles sobre el plano de la imagen.

    2.Una interpolación de niveles de grises, el cual media con la asignación de niveles de grises a píxeles en la imagen espacial transformada.

 

Transformaciones Espaciales

 

Se supone que una imagen a con coordenadas de píxeles (x,y) sufre, para cada punto, una transformación geométrica para producir una imagen b, con coordenadas (xDest,yDest). Esta transformación puede ser expresada como:

                                                  xDest = r(x,y) (1)

   yDest = s(x,y) (2)

donde r(x,y) y s(x,y) son las transformaciones espaciales que generan, para cada punto de a, nuevos puntos (xDest,yDest) que forman parte de la imagen b. Por ejemplo, si r(x,y) = x / 2 y s(x,y) = y / 2, la transformación es simplemente una contracción del tamaño de a, en un 50% en ambas direcciones espaciales.


La figura 7.5 muestra una región rectangular de la imagen original, y su correspondiente transformación (cuadrilátera, pero no necesariamente rectangular).

 

Se supone que el proceso de transformación geométrica es modelado por un par de ecuaciones bilineales. Estas ecuaciones se muestran a continuación:

r(xA,yA) = C1 + C2* xA + C3*yA + C4*xA*yA.

s(xA,yA) = C5 + C6* xA + C7*yA + C8*xA*yA.

 entonces por (1) y (2) se tiene:

                                    xDestA = C1 + C2* xA + C3*yA + C4*xA*yA. (3)

                                    yDestA = C5 + C6* xA + C7*yA + C8*xA*yA. (4)

Estas dos últimas ecuaciones representan las coordenadas (xDest,yDest) de un punto transformado que se corresponden con las del punto (x,y) en la región origen y están en función de los coeficientes Ci de la transformación.

Para los demás puntos mostrados en la figura, se sigue un procedimiento similar. Esto lleva a tener un sistema de ocho ecuaciones con ocho incógnitas, las cuales se muestran a continuación.

                                          xDestA = C1 + C2* xA + C3*yA + C4*xA*yA.

                                          yDestA = C5 + C6* xA + C7*yA + C8*xA*yA.

                                          xDestB = C1 + C2* xB + C3*yB + C4*xB*yB.

                                          yDestB = C5 + C6* xB + C7*yB + C8*xB*yB.

                                          xDestC = C1 + C2* xC + C3*yC + C4*xC*yC.

                                          yDestC = C5 + C6* xC + C7*yC + C8*xC*yC.

                                          xDestD = C1 + C2* xD + C3*yD + C4*xD*yD.

                                          yDestD = C5 + C6* xD + C7*yD + C8*xD*yD.

 

Como se puede apreciar este sistema posee como datos: (xA,yA), (xB,yB), (xC,yC), (xD,yD) como así también (xDestA,yDestA), (xDestB,yDestB), (xDestC,yDestC), (xDestD,yDestD), y como incógnitas: C1,C2,C3,C4,C5,C6,C7,C8.

Otro de los detalles que se pueden observar es que el sistema se reduce a dos subsistemas independientes. Uno de ellos pone en juego solamente los coeficientes C1, C2, C3 y C4, mientras que el otro a los restantes. Dicho de otra manera, el primer grupo de coeficientes administra la transformación de un punto en el eje horizontal sobre el plano, mientras que el otro grupo la transformación vertical.

Para calcular las 8 incógnitas, se utilizó el método de sustitución, de aquí que los resultados fuesen:

 

w1 = ((yA - yB)*(xA - xC) / (xA - xB)) - (yA - yC);

w2 = ( ((xA*yA - xB*yB)*(xA - xD) ) / (xA - xB) ) - (xA*yA - xD*yD);

w3 = xDestC - xDestA + ((xDestA - xDestB)*(xA - xC) / (xA - xB));

w4 = xDestA - ( (xDestA - xDestB)*(xA - xD) / (xA - xB) );

w5 = ((xA*yA - xB*yB)*(xA - xC) / (xA - xB)) - (xA*yA - xC*yC);

w6 = ((yA - yB)*(xA - xD) / (xA - xB)) - (yA - yD);

w7 = yDestC - yDestA + ((yDestA - yDestB)*(xA - xC) / (xA - xB));

w8 = yDestA - ( (yDestA - yDestB)*(xA - xD) / (xA - xB) );

 

Cálculos de Coeficientes

 

C4 = (xDestD - w4 - (w6*w3/w1)) / (w2 - ((w5*w6) / w1) );

C3 = (xDestC - xDestA + ((xDestA - xDestB)*(xA - xC) / (xA - xB)) - C4*w5) / w1;

C2 = (xDestA - xDestB - C3*(yA - yB) - C4*(xA*yA - xB*yB)) / (xA - xB);

C1 = xDestA - C2*xA - C3*yA - C4*xA*yA;

C8 = (yDestD - w8 - (w6*w7/w1)) / ( w2 - ((w5*w6) / w1));

C7 = (yDestC - yDestA + ((yDestA - yDestB)*(xA - xC) / (xA - xB)) - C8*w5) / w1;

C6 = (yDestA - yDestB - C7*(yA - yB) - C8*(xA*yA - xB*yB)) / (xA - xB);

C5 = yDestA - C6*xA - C7*yA - C8*xA*yA;

 

Una vez obtenidos los valores de los coeficientes, se aplica a cada punto (xi,yi) de la región original y se obtiene un nuevo punto (xiDest,yiDest) que representa la transformación del primero. El nuevo punto se calcula de acuerdo con las ecuaciones (3) y (4).