Albañil
Proyecto VIGIA
Autores: Versión: 1.1 Manuela Ruiz Montiel Daniel Héctor Stolfi Rosso Miguel Ángel Lorente López Fecha: 26/01/2009
Nombre del Documento
Proyecto VIGIA
Tabla de contenido
Informe técnico del movimiento de la cámara
Procesador de los movimientos del usuario
Cálculo del pan
Cálculo del tilt
Cálculo del zoom
4 4
5 5 5
Lado delservidor
Recorte
Zoom
6
6 7
Informe técnico de los LEDs
Circuito para el oscilador astable:
Circuito del oscilador monoestable:
8
10 11
26/01/2009
3/12
Documentación técnica
Proyecto VIGIA
Informe técnico del movimiento de la cámara
Procesador de los movimientos del usuario
El objetivo principal de este proyecto es transmitir las imágenes al cliente de acuerdo a losmovimientos del usuario. Estos movimientos se transmitirán al servidor en forma de órdenes para la cámara, con tres componentes: pan (giro horizontal), tilt (giro vertical) y zoom.
d
(x, y, z) = (0, 0, d)
d PERFIL
PLANTA
Sin embargo, la posición del usuario no la obtenemos en estos términos, sino en coordenadas (x, y, z) con respecto a la ventana virtual. Ejemplo:
zy
zx
y
zx PLANTA
PERFIL
Donde zx, y zy son proyecciones de la distancia real de z
26/01/2009
4/12
Documentación técnica
Proyecto VIGIA
Tenemos que transformar las coordenadas (x, y, z) en (pan, tilt, zoom). Veámoslo gráficamente, dada la siguiente situación:
Cálculo del pan
pan
zP = z 2 + y 2
zx pan
z y zx
⎛ x⎞ pan = arcsin ⎜ ⎟ ⎝ zP ⎠
x PLANTA
Cálculo del tilt
zytilt tilt
zP = z 2 + x 2 ⎛ y⎞ pan = arcsin ⎜ ⎟ ⎝ zP ⎠
z zy
x
Cálculo del zoom
Cuando el usuario se acerca, el zoom se acerca y viceversa. Si miramos a través de una ventana real a una distancia dada veremos lo siguiente:
Si nos alejamos de la ventana, veremos algo así:
26/01/2009
5/12
Documentación técnica
Proyecto VIGIA
Si el rango de distancia que detecta el mandoes N, F (siendo N cerca y F lejos), hemos decidido hacer la siguiente transformación lineal. Distancia: N Zoom: La fórmula quedaría: 200 F 100
zoom = 200 −
z−N i100 F−N
Lado del servidor
En el lado del servidor, será necesario procesar la imagen para que la simulación de movimiento sea lo más realista posible. Entre la obtención del frame de la cámara y el envío de éste, se procesará laimagen en dos pasos: recorte y zoom.
1. Recorte
El objetivo de este paso es desplazar la imagen horizontal o verticalmente para simular el movimiento horizontal o vertical del usuario. El desplazamiento será proporcional al ángulo del usuario con respecto a la pantalla virtual. Suponiendo que vamos a dejar un margen C (en tanto por ciento) de la imagen original para desplazarnos sobre ella, ysiendo x, y, w, w’, h y h’ los mostrados en el siguiente diagrama:
Frame Original y x h h' Frame que desplazaremos
w' w
26/01/2009
6/12
Documentación técnica
Proyecto VIGIA
Tenemos las siguientes fórmulas que calcular x, y, w’ y h’ de manera proporcional a los ángulos pan y tilt:
90 + P iwic 180 90 + T y= ihic 180 w ' = wi(1 − c) h ' = hi(1 − c) x=
Posteriormente habrá queescalar la imagen a los w y h originales.
2. Zoom
El zoom llega desde el servidor en forma de porcentaje. Habrá que recortar la imagen de acuerdo al zoom recibido y posteriormente hacer un escalado a los w y h originales. El recorte se realizará centrado en el frame obtenido del paso anterior con:
⎛ 100 ⎞ w x ' = ⎜1 − ⎟i ⎝ z ⎠ 2 ⎛ 100 ⎞ h y' = ⎜ 1 − ⎟i ⎝ z ⎠ 2 100 w '' = iw z 100 h '' = ihz
Y posteriormente escalando los w y h originales. NOTA: En lugar de escalar dos veces, una al finalizar el paso 1 y la otra el finalizar el paso 2, es posible calcular el recorte del zoom sobre w’ y h’ (de 1) y escalar sólo una vez al final del paso 2.
26/01/2009
7/12
Documentación técnica
Proyecto VIGIA
Informe técnico de los LEDs
El objetivo del circuito fue el de alimentar...
Regístrate para leer el documento completo.