Está en la página 1de 11

Rotaciones

Curso PDI

Rotaciones

„ Operación el la cual se
cambia el eje de una
imagen
‰ Las rotaciones clásicas
son en los ejes X, Y
( ±π/2, π) Æ (±90°, 180°)
‰ Si se cambia el eje de
una imagen, la imagen
resultante puede tener
una mayor dimensión

Imagen a 35°

1
Rotación 90°

„ Una rotación a 90° transforma una imagen INxM a


una imagen I’MxN
‰ Se intercambian las filas y las columnas

800x600 600x800

Rotación 90°

„ Si I[i,j] es un píxel de la imagen original I,


entonces
‰ i ∈ [0,M-1], j ∈ [0,N-1]
„ Si I’[i,j] es un píxel de la imagen rotada I’,
entonces
‰ i ∈ [0,N-1], j ∈ [0,M-1]
„ Por tanto, ¿cómo es la regla de
transformación?

2
Rotación 90°

v1 v2

v4
v2
v1

v3
v3 v4

For (i=0;i<N;i++)
for(j=0;j<M;j++)
I’[i,j] = I[j,N-1-i]

Rotación 180°

„ De forma análoga se puede analizar como rotar


una imagen a 180° tomando como base los puntos
extremos de referencia

0° 180°

3
Rotación 180°

v1 v2 v4 v3

v3 v4 v2 v1

¿Cómo queda la regla de transformación?

Rotación 180°

„ Para la rotación 180°, se utiliza la siguiente


regla:

for (i=0;i<N;i++)
for(j=0;j<M;j++)
I’[i,j] = I[M-1-i,N-1-j]

4
Rotación θ°

„ Para esta rotación, se utiliza la matriz de rotación R


definida como:

 cos θ − sin θ 
R (θ ) =  
 sin θ cos θ 

Rotación θ°

„ La matriz de rotación R tiene propiedades


interesantes:
‰ Es una transformación lineal: R(α+β) = R(α) +
R(β)
‰ La inversa se define como R-1(θ) = R(- θ)
„ R-1(θ) R(θ)= R(-θ) R(θ)=R(-θ+θ)=R(0) (identidad)

5
Rotación θ°

„ Consideraciones
‰ El centro de rotación de la imagen será el punto central de
la misma
‰ Antes de rotar la imagen, se deberá calcular el tamaño de
la imagen resultante I’
‰ Se deben de rellenar los píxeles de los extremos de la
imagen rotada
‰ Dado que θ es arbitrario, I(i,j) puede dar como resultado
„ Una coordenada flotante Æ redondear
„ Más de un píxel puede ser asignado a una misma
coordenada rotada
„ Píxeles de la imagen rotada pueden quedar sin asignación

Rotación θ°

θ=35°

6
Rotación θ°

„ Determinar el punto central


‰ ¿Cómo definir la coordenada del píxel central en la imagen
rotada?
„ Se utiliza una regla de translación – rotación - translación
definida en el procesamiento digital de imágenes
‰ Translación Æ T(iti, jtj) = (i+ti, j+tj)
‰ T(-M/2,-N/2) R(θ) T(M/2, N/2)
„ R(θ) aplicado a (p,q) queda como:

 p
R(θ )  = ( p cos θ − q sin θ , p sin θ + q cos θ )
q

Rotación θ°

„ Rotación de los puntos extremos de la imagen


‰ Consideremos que los puntos extremos se almacenan en
los vectores X,Y y las coordenadas de los puntos rotados
se almacenan en los vectores X’, Y’

X 0 0 M −1 M −1
Y 0 N −1 0 N −1

7
Rotación θ°

„ Rotación de los puntos extremos

 i'  i
  = T (i− N / 2 , j− M / 2 ) R(θ ) T (iN / 2 , jM / 2 )
 j'  j
N2 = N/2; M2 = M/2;
cost = cos(θ); sint = sin(θ);
For(i=0;i<4;i++)
a = X[i] –M2; b = Y[i] – N2;
ar = a*cost-b*sint; br = a*sint + b*cost;
X’[i] = ar + M2; Y’[i] = br + N2;

Rotación θ°

„ ¿Cómo se calcula la dimensión de la imagen


resultante?
X’[1],Y’[1]

i
X[0],Y[0]
X[1],Y[1]

θ=35°
X’[0],Y’[0] X’[3],Y’[3]

X[2],Y[2] X[3],Y[3]

j
X’[2],Y’[2]

8
Rotación θ°

„ Considere lo siguiente:
‰ minx’ = min{X’}, miny’ = min{Y’}
‰ maxx’ = max{X’}, maxy’ = max{Y’}
‰ M’ = maxx’ – minx’ + 1
‰ N’ = maxy’ – miny’ + 1
„ Dado que N’ y M’ pueden ser valores
negativos, es necesario realizar un
corrimiento para que queden como
coordenadas positivas

Rotación θ°: Ejemplo

„ Considere la siguiente figura, ¿Cuál sería la


dimensión de la nueva imagen resultante si θ = 45°?
(0,0) (0,80)

(50,0) (50,80)

9
Rotación θ°: Ejemplo

X 0 50 0 50 X 36 __ __ __
Y 0 0 80 80 Y − 6 __ __ __

sin( 45°) = 0.7071 Para (0,0):


cos(45°) = 0.7071
a = 0 − 25 = −25
b = 0 − 40 = −40

N1 = 80 / 2 = 40 ar = (−25)(0.7071) − (−40)(0.7071) = 10.61 ⇒ 10.61 + 25 = 35.61 → 36


br = ( −25)(0.7071) + ( −40)(0.7071) = −45.95 ⇒ −45.95 + 40 = −5.95 → −6
M 1 = 50 / 2 = 25

Rotación θ°: Ejemplo

X 36 72 − 21 14
Y − 6 29 51 86

¿Cómo se calcula la nueva dimensión de la imagen?

M ' = 71 − (−21) + 1 = 92 + 1 = 93
N ' = 86 − ( −6) + 1 = 92 + 1 = 93
NOTA: En nuestro ejemplo, originalmente N = 81 y M = 51,
Por lo que N’ = 92 y M’ = 92 (por simplicidad en las op.)

10
Rotación θ°: Ejemplo

„ ¿Cómo se define cual será el corrimiento de


los píxeles de la imagen original con respecto
a la imagen rotada?

‰ Píxel central de la imagen original: (25,40)


‰ Píxel central de la imagen rotada: (46,46)

11

También podría gustarte