Luis E. Juan

Estereograma

Stereo - Algoritmo

La visión estereoscópica

Todos hemos hecho alguna vez este sencillo experimento: levantando el dedo índice a un palmo de la nariz y dirigiendo la vista a la pared del fondo percibimos una doble imagen del dedo. Si ahora dirigimos la vista al dedo y guiñamos alternativamente ambos ojos, observamos que, respecto al fondo, el "dedo" que vemos con el ojo derecho está más a la izquierda que el que vemos con el ojo izquierdo. Esto se debe al llamado paralaje, la distancia que separa nuestros ojos, la cual hace que la información de una escena tridimensional que cada uno de ellos entrega al cerebro sea distinta, por variar el punto de vista. Las diferencias entre dichas informaciones son, precisamente, el dato que permite al cerebro captar las relaciones espaciales en 3-D.

Un estereograma de doble imagen

En la figura de arriba se ha aplicado el principio anterior a un motivo simple. Basta con que el intervalo que separa cada círculo de la imagen izquierda de su homólogo de la imagen derecha sea menor que el que separa los cuadrados para que, enfocando convenientemente la mirada de modo que cada ojo se dirija a la imagen de su lado, percibamos una escena tridimensional con dos planos de profundidad: el correspondiente al fondo (los cuadrados) y otro más próximo a nosotros (los círculos). Conseguido dicho enfoque, si se guiñan alternativamente los ojos se comprenderá por qué.

El autoestereograma

Si tomamos una escena en 3-D y la "empapelamos" a base de franjas verticales idénticas conteniendo un diseño o textura repetitivo, serían precisamente las distorsiones que el relieve de los objetos de la escena introducen en la uniformidad de la textura la información que, distinta para cada ojo, permite al cerebro reconstruir la relación espacial entre dichos objetos. En un autoestereograma, la posición visual adecuada para observar es aquélla en la que los ojos se dirigen a dos puntos homólogos, separados exactamente el ancho de la franja que sirve de textura soporte. La imagen tridimensional surge de la comparación entre cada franja y la inmediatamente adyacente.

El algoritmo de generación

Para generar cada línea del autoestereograma, el algoritmo de cálculo toma una textura base (constituida por 16 caracteres alfabéticos en el caso del programa STEREO) que, punto a punto (carácter a carácter), se va copiando a sí misma de izquierda a derecha, aunque distorsionada por el diferente intervalo de repetición que corresponde a cada punto según la "altura" sobre el fondo que pretende representar. Un intervalo menor va asociado a un punto más próximo al espectador, como en el estereograma de doble imagen.

Así, la 14ª línea del motivo en relieve que sirve de ejemplo (60 caracteres), contiene la información siguiente, que corresponde a un perfil de alturas como el de más abajo:

000000000000000000111111111122222111111100022222000000000000
                            _____          _____
__________ _______
__________________ ___ ____________

La línea homóloga del autoestereograma contiene 76 caracteres (16 + 60):

nopqrstuvwxyzABCnopqrstuvwxyzABCnoqrstuvwxyzBCnoqvrstuvwCxyCnoqvuv...

y resulta de tomar la textura nopqrstuvwxyzABC y copiarla hacia la derecha carácter a carácter con el criterio siguiente:

  • 0 (el nivel de fondo) corresponde a un intervalo de repetición = 16 (la longitud de la textura)
  • 1 se traduce en un intervalo = 15 (se copia el carácter que está 15 lugares a la izquierda del actual en la línea)
  • 2 corresponde a un intervalo = 14
  • 3 corresponde a un intervalo = 13
  • cuando el intervalo se reduce (incremento de altura), simplemente se omiten caracteres de la textura
  • cuando el intervalo aumenta, se rellenan los "huecos" con caracteres cualesquiera de la textura

Por supuesto, el algoritmo sigue siendo válido a alta resolución, sustituyendo la matriz de caracteres que representa el relieve y la textura base por sendos ficheros de imagen y ejecutando el proceso a nivel de pixel, con las alturas codificadas, por ejemplo, como niveles de gris.

anteriorsubir 1 nivelsiguiente © Copyright Luis E. Juan. 2005