Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Rotación
Rotación
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°
800x600 600x800
Rotación 90°
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°
0° 180°
3
Rotación 180°
v1 v2 v4 v3
v3 v4 v2 v1
Rotación 180°
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 θ°
cos θ − sin θ
R (θ ) =
sin θ cos θ
Rotación θ°
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 θ°
p
R(θ ) = ( p cos θ − q sin θ , p sin θ + q cos θ )
q
Rotación θ°
X 0 0 M −1 M −1
Y 0 N −1 0 N −1
7
Rotación θ°
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 θ°
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
(50,0) (50,80)
9
Rotación θ°: Ejemplo
X 0 50 0 50 X 36 __ __ __
Y 0 0 80 80 Y − 6 __ __ __
X 36 72 − 21 14
Y − 6 29 51 86
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
11