Title: Ayudanta 01
1Ayudantía 01
Visión por Computador
- Miguel Carrasco
- mlcarras_at_puc.cl
- Agosto, 2005
2Transformación Proyectiva 2D en español pliss?
- permite el paso desde los puntos mx y 1T
de la imagen original a los puntos mx y 1T que
definen la imagen libre de distorsión.
3Ahora me queda más claro
- Modo directo con 4 pares de puntos
- Para cada par de puntos correspondientes entre
las imágenes (x,y)?(x, y), es posible
reescribir la ec. como un sistema de 2 ecuaciones
con 8 incógnitas (8 elementos de la matriz H
considerando h331). Ec.2.7. (suponemos h331)
En este caso la solución de este sistema es
directa hA-1b
A
b
4Y se complica con más puntos?
- Modo directo con más puntos..
- Para 5 o más puntos se debe utilizar un método de
mínimos cuadrados cuya solución es - hATA-1ATb
- Una vez obtenido h..que hacemos ahora?
- Quien podrá salvarnos?
5MatlabÚnico, grande y casi nuestro
A través de la función cpselect de MATLAB, los
puntos en la imagen original y la imagen
cuadriculada se ingresan manualmente utilizando
el Mouse (Figura 2).
cpselect es una función de MATLAB especialmente
creada con este propósito. Permite ir
seleccionando pares de puntos, uno en cada
imagen, y almacenar la coordenadas de dichos
puntos en dos matrices de Nx2
6Interpolación creo que mejor saco bien la foto y
no interpolo pero..
- Recomendaciones
- Para cada punto m de la imagen rectificada se
calcula su correspondiente punto m en la imagen
original utilizando la ecuación de transfomación
proyectiva. - Tenemos que interpolar!!!
- Como seguramente m no existirá por encontrarse
definidas sus coordenadas por números reales y no
enteros, el nivel de gris de m se interpola a
partir de los 4 vecinos más cercanos a m de la
imagen original.
7Lástima, hay que interpolar..
Afortunadamente en los apuntes está el algoritmo
!!.. (ej.2.4)
Obs La función fix extrae la parte entera
8Lo que me costo diseñar..
- La dimensión de la imagen de salida entrega el
tamaño de la imagen de salida luego de la
interpolación.
9Quién quiere tareas fáciles??
- Una vez que tienen hecho todo lo anterior. Basta
definir una distancia fija utilizando la
trayectoria entre los puntos relacionados, y en
cada una de ésta realizar la homografía con
interpolación.
xn
x1
10Instrucciones de video en Matlab
- Inicializar el video con
- mov avifile(Secuencia.avi)
- mov.Quality 100
- mov.FPS 10
- Para cada imagen interpolada, muestran la imagen
por pantalla con el comando - Imshow(cuadro, )
- Finalmente captura la imagen y la graban en el
video - F getframe(gca)
- mov addframe(mov,F)
11