El truco del hombre del tiempo

Tras mas de un mes atareado hoy voy a desvelar la "magia" que permite al hombre del tiempo, entre otros, para superponerse a un fondo virtual.

Básicamente el objetivo consiste en reemplazar unas zonas de la imagen original, y sustituirlas por fragmentos de una segunda imagen. La técnica mas comun es el chroma key.

Esta es la famosa técnica en la que los actores realizan su papel delante de paredes verdes "fosfi" y azules. Seguro que todos hemos visto esto en el "como se hizo" de algún DVD. Después de tomarse la imagen original, se procesa pixel a pixel, substituyendo el color que hemos puesto de fondo por nuestra imagen virtual, donde Anakin y ObiWan se dan leches sin parar sobre magma incandescente.

Así de primeras puede parecer sencillo, pero en la práctica surgen dificultades. Paso a explicar el algoritmo donde se apreciará con mas facilidad donde reside el problemilla. Recorremos el fotograma en cuestión pixel a pixel, si el pixel tiene el valor RGB que hemos configurado como fondo, substituimos el pixel en cuestión por su correspondiente en la imagen virtual. Fácil no? Esto con imagenes sintéticas funciona perfectamente, en la práctica no acaba de ir tan bien sin unos ajustes. Porque? Bien, porque el fondo nunca es homogéneo en un 100%, las cámaras arrastran también mayores o menores desviaciones en el color y por buena que sea la iluminación del plató, siempre habrán pequeñas sombras o brillos. Cuando el algoritmo tira a procesar la imagen, se encuentra con colores parecidos, pero no iguales dando como resultado un fracaso !

Que no cunda el pánico ! Solo sera necesario modificar el algoritmo para que admita colores parecidos. Imaginar los 3 ejes cartesianos, el centro es negro total (0,0,0) sobre un eje va creciendo el color rojo, de igual manera con los otros dos, verde y azul. De esta manera, cada color rgb se interpreta como un punto en el espacio cartesiano (x,y,z). Por tanto, cuanto menor sea la distancia entre dos colores, mayor su semejanza.

Tomemos una distancia, que la llamaremos Delta y dos colores, el del pixel de entrada P, y el de referencia para contrastar el chroma C. El valor de Delta se ajusta de manera empírica (en castellano: probando hasta que quede bien) ya que depende de las condiciones que tengamos a la hora de capturar la imagen.

//calculamos el vector entre los dos puntos
Vr = Cr - Pr
Vg = Cg - Pg
Vb = Cb - Pb

//modulo del vector
dist = sqrt(Vr*Vr + Vg*Vg + Vb*Vb)

//son colores parecidos ?
if(dist < Delta)
{
putPixel (..... )
}



Ajustar la distancia es primordial para que chroma de buenos resultados, valores muy bajos, provocaran que parte del fondo no consiga ser discriminado. Sin embargo valores muy altos tomarían como fondo demasiados colores, desintegrando el aspecto de la imagen. Por poner un ejemplo, es como si el hombre del tiempo, fuera deshaciendose conforme el Delta aumenta, viéndose solo el mapa metereológico.

Tras haber entendido todo esto, se intuye el porqué se emplean colores tan llamativos como fondo para el chroma key. Por un lado se debe de usar un color que no vaya a estar presente en los actores. Por otra parte, estos colores tan exagerados permiten aumentar el Delta reduciendo el riesgo de "amputarle" algún miembro a nuestro presentador :-)

Por supuesto el algoritmo aquí explicado es perfectamente mejorable, los chicos de George Lucas usan chroma keys bastante mas sofisticados, que permiten tratar transparencias y reflejos. Si alguien le da por jugar con la webcam, ya aviso que con webcams malas (si Logitech, estoy hablando contigo) los resultados son algo decepcionantes.

Comentarios

Anónimo ha dicho que…
[url=http://www.ganar-dinero-ya.com][img]http://www.ganar-dinero-ya.com/ganardinero.jpg[/img][/url]
[b]Queres ganar dinero desde tu casa y buscas informacion[/b]
Nosotros hemos hallado la mejor guia en internet de como trabajo casa. Como nos ha sido de interes para nosotros, tambien les puede ser de utilidad a ustedes. No son solo metodos de ganar dinero con su pagina web, hay todo tipo de metodos para ganar dinero en internet...
[b][url=http://www.ganar-dinero-ya.com][img]http://www.ganar-dinero-ya.com/dinero.jpg[/img][/url]Te recomendamos entrar a [url=http://www.ganar-dinero-ya.com/]Ganar dinero[/url][url=http://www.ganar-dinero-ya.com][img]http://www.ganar-dinero-ya.com/dinero.jpg[/img][/url][/b]

Entradas populares de este blog

Reparando un reproductor de minidisc

Platinum-MD

Preparados para la inmersión!!!