Procesamiento de Imágenes
y Visión Artificial
(WEE2)
Sesión: 8
MSc. Ing. José C. Benítez P.
Transformaciones geométricas
Logros de aprendizaje
1. Conocer las transformaciones geométricas aplicadas a los
diferentes tipos de imágenes digitales.
2. Transformar geométricamente las imágenes digitales.
3. Implementar funciones para las transformaciones
geométricas de las imágenes digitales.
4. Aplicar transformaciones rígidas sobre una imagen digital.
5. Transformar por afinidad una imagen digital.
6. Conocer las coordenadas homogéneas.
7. Combinar transformaciones geométricas.
2
3
ContenidoTransformaciones geométricas:
• Introducción
• Transformaciones Rígidas
� Traslación
� Rotación
� Reflexión
• Transformaciones Afines
� Escalado
� Cizalladura
� Similitud
• Transformaciones Proyectivas
� Coordenadas Homogéneas
• Combinación de Transformaciones
• Transformaciones geométricas con MATLAB
Introducción a las TG
Esquema general del análisis de imágenes
Introducción a las TG
• Utilizando el histograma, se obtiene una transformación que
asigna para cada nivel de gris de la imagen de entrada un
nuevo nivel de gris. Este tipo de transformaciones se llaman
puntuales pues sólo hace falta conocer el nivel de gris en
cada punto de la imagen de entrada para obtener el valor en
el mismo punto de la imagen de salida.
• Ahora nos ocuparemos de las TG. Determinaremos qué
posición tomará en la imagen destino cada píxel de la imagen
original cuando sobre ella aplicamos una transformación
geométrica tales como traslación, rotación, escalado... Es
decir, el valor de un píxel en la imagen de salida se asignará
en base a las coordenadas (x,y) de ese píxel.
Introducción a las TG
• Las TG que veremos no son distintas de las
transformaciones básicas de la geometría. Sin
embargo, debido a la naturaleza discreta de las
imágenes, aparecen ciertos problemas que es preciso
analizar y resolver.
• Este tipo de transformaciones resultan útiles para
facilitar el reconocimiento de formas cuando no
existen unas condiciones preestablecidas de escala o
posición en las piezas a analizar.
Introducción a las TG
• Las transformaciones geométricas también son utilizadas para
eliminar distorsiones debidas a óptica y a la perspectiva o
bien para reajustar imágenes de una misma escena tomadas
bajo distintas condiciones y poder de esta forma establecer
correspondencias entre unas y otras.
Introducción a las TG
Podemos clasificar las TG en:
• Transformaciones rígidas o euclídeas, que
preservan las distancias, ángulos y áreas.
• Transformaciones afines, que preservan la
colinealidad de los puntos, paralelismos y las
razones entre los puntos pertenecientes a una
línea.
• Transformaciones proyectivas, que preservan
solo la colinealidad de los puntos.
Introducción a las TG
En transformaciones rígidas y afines las coordenadas de la imagen de salida se obtienen a partir de la ecuación lineal en las coordenadas de la imagen
M debe cumplir la condición de ser invertible.
),( yx ′′
Transformaciones rígidas
Las transformaciones rígidas se caracterizan
por preservar las distancias. M es una matriz
ortogonal. Son transformaciones rígidas :
� Traslación
� Rotación
� Reflexión
Transformaciones rígidas. Traslación
y
x
tyy
txx
+=′
+=′
+
=
′
′
y
x
t
t
y
x
y
x.
10
01
La traslación es una transformación que desplaza una
cierta magnitud vectorial cada uno de los píxeles de la
imagen de entrada.
Transformaciones rígidas. Rotación
La rotación consiste en girar la imagen original un cierto
ángulo. La rotación en principio se establece respecto al
origen de coordenadas
)cos()sin(
)sin()cos(
θθ
θθ
⋅+⋅=′
⋅−⋅=′
yxy
yxx
⋅
−=
′
′
y
x
sen
sen
y
x
θθ
θθ
cos
cos
Transformaciones rígidas. Reflexión
⋅
−=
′
′
y
x
y
x
10
01
Ejemplo: reflexión respecto al eje vertical:
Transformaciones rígidas. Combinación
Transformaciones afines.
Las transformaciones afines preservan la colinealidad
de los puntos (las rectas siguen siendo rectas tras la
transformación), el paralelismo y las razones entre los
puntos de pertenecientes a una recta.
M es una matriz invertible.
Transformaciones afines.
Las transformaciones afines incluyen:
� Escalado
� Cizalladura
� Similitud
Transformaciones afines. Escalado
El escalado es una transformación que se origina al
multiplicar por un factor ambas coordenadas de cada píxel de
la imagen de entrada.
ysy
xsx
y
x
·
·
=′
=′
⋅
=
′
′
y
x
s
s
y
x
y
x
0
0
El factor de escala no tiene necesariamente que ser el mismo
para ambas coordenadas (escalado anisotrópico)
Transformaciones afines. Cizalladura
La cizalladura de x respecto a y desplaza cada píxel de la
imagen original en la dirección x un espacio proporcional a
su coordenada y.
yy
ycxxx
=′
⋅+=′
⋅
=
′
′
y
xc
y
xx
10
1
Transformaciones afines. Similitud
Similitud: Traslación + Rotación + Escalado Isotrópico.
En las transformaciones afines de similitud se conservan
también los ángulos
Transformaciones afines. Caso general
Afín: Similitud + Escalado anisotrópico + Cizalladura
Transformaciones proyectivas
En las transformaciones proyectivas ya no se conserva el
paralelismo, ni las razones entre puntos de una recta. Sólo
se conservan las líneas rectas.
Transformaciones proyectivas
Transformaciones proyectivas
Coordenadas homogéneas
La expresión matricial de la traslación y la rotación:
+
=
′
′
y
x
t
t
y
x
y
x.
10
01
La traslación tiene una forma distinta del resto de las
transformaciones pues no se reduce a un único producto
de matrices sino que además contiene un sumando.
⋅
−=
′
′
y
x
sen
sen
y
x
θθ
θθ
cos
cos
Coordenadas homogéneas
• Interesa que todas las transformaciones tengan una
representación uniforme mediante un producto de
matrices. Esto permitirá operar más eficientemente,
especialmente cuando hay que realizar una secuencia
de transformaciones.
• Para lograr esta representación matricial uniforme
recurriremos a la utilización de coordenadas
homogéneas.
• En coordenadas homogéneas los puntos del plano se
representan con tres coordenadas.
Coordenadas homogéneas
Un punto (x, y) tiene la forma (hx, hy, h), donde h toma un
valor arbitrario distinto de 0 que representa un factor de
escala.
Un mismo punto tiene infinitas representaciones en
coordenadas homogéneas. El punto (2, 3) puede
expresarse como:
(2, 3, 1), (4,6,2), (6, 9, 3), …
No obstante, lo habitual es tomar h=1, con lo que el punto
(x, y) pasa a ser (x, y, 1)
Coordenadas homogéneas
La traslación se expresará entonces en coordenadas
homogéneas de la forma:
=
′
′
1
·
1001
2221
1211
y
x
tmm
tmm
y
x
y
x
=
′
′
1
·
100
10
01
1
y
x
t
t
y
x
y
x
Y en general cualquier transformación afín como:
Coordenadas homogéneas
=
′
′
1
·
100
10
01
1
y
x
t
t
y
x
y
x
−
=
′
′
1
·
100
0cos
0cos
1
y
x
sen
sen
y
x
θθ
θθ
=
′
′
1
·
100
00
00
1
y
x
s
s
y
x
y
x
−
=
′
′
1
·
100
cos
cos
1
y
x
tsen
tsen
y
x
y
x
θθ
θθ
Traslación
Rotación
Escalado
Euclídea
⋅⋅
⋅−⋅
=
′
′
1
·
100
cos
cos
1
y
x
tssens
tsenss
y
x
y
x
θθ
θθSimilitud
Combinación de transformaciones
Combinación de transformaciones
En el caso anterior, el orden en que se efectúen las
traslaciones no tiene importancia pero en general sí
que hay que tener en cuenta el orden en que se hacen
las operaciones.
En general, el producto de las matrices de
transformación no será conmutativo. Las matrices de
trasformaciones posteriores irán multiplicando por la
izquierda a las transformaciones previas.
Transformaciones geométricas con MatLab
>> R = imrotate(I, angGrados,'bilinear');
Rota la imagen I el ángulo especificado en grados con
interpolación bilineal.
>> T = maketform('affine',t);
Crea una estructura de datos para aplicar la transformación
geométrica.
>> J = imtransform(I,T);
Aplica la transformación geométrica a la imagen I especificada en
la estructura T.
>> C = imcrop(I,[x0 y0 ancho alto]);
Recorta de la imagen I la ventana especificada y la guarda en C.
>> E = imresize(I,2,'bilinear');
Reescala la imagen I con un factor 2 usando una interpolación
bilineal.
32
Preguntas
Al término de la experiencia de aprendizaje el alumno
debe ser capaz de responder las siguientes preguntas:
1. Concepto y clasificación de las TG.
2. Concepto y clasificación de las TG-rígidas.
3. Concepto y clasificación de las TG-afines.
4. Concepto de las coordenadas homogéneas
5. Las TG mediante las coordenadas homogéneas.
6. Las TG mediante MatLab.
33
Sesion8. Transformaciones geométricas
Procesamiento de Imágenes
y Visión Artificial
Blog del curso:
http://utppdiyva.blogspot.com