Skip to Content

Realidad Aumentada + processing 1.5 + Ubuntu 10.04


Estos días nos ha entrado el gusanillo de trastear con Processing y la Realidad Aumentada (AR) y la verdad que le hemos tenido que dar más de una vuelta al tema ya que los tutoriales que hemos encontrado por la red utilizan normalmente versiones de Processing anteriores y la instalación es algo diferente.


Bueno, aquí va este minitutorial de nuestra ficticia serie "Notepartaslacrisma" para intentar allanaros el camino.


1.- Lo primero de todo nos descargamos el Processing en su última versión de aquí
y lo descomprimimos en el directorio en el que lo dejaremos alojado:


$ cd /home/tux


$ tar xvfz processing-xx.tgz


Para comprobar que todo ha ido bien lo ejecutamos


$ cd processing-xx


$ ./processing


Y se tiene que abrir el IDE de Processing sin ningún problema


2.- Para continuar nos descargaremos la librería GSVideo de aquí, que será la encargada del manejo de lo relacionado conn el vídeo(captura, reproducción, webcam...) y que nos permitirá utilizar GStreamer en lugar de Quicktime, que es la plataforma que usa por defecto la librería de VidIdeol Processing. Hay que recordar que se tendrá que hacer una pequeña modificación en el código de
los ejemplos, que vienen por defecto, para la utilización de GStreamer en lugar de Quicktime.


Descargamos GSVideo de aquí


Descomprimimos el archivo descargado


$ unzip GSVideo-1.0.0-linux.zip


Copiamos la carpeta GSVideo en la carpeta de las librerías de Java de la instalación de Processing. Ojito !!!, la que se ha de copiar es la GSVideo, lo digo por si os crea un directorio superior al descomprimir de alguna otra manera.


$ cp -R GSVideo /home/tux/processing-xx/modes/java/libraries


Para comprobar que todo ha ido bien basta con arrancar el processing, abrir los ejemplo "Files -- Examples" y deberéis encontrar el apartado GSVideo colgando del nodo de "libraries". Con la webcam conectada deberíais poder ejecutar sin problemas el ejemplo de Asciivideo que se encuentra en "libraries -- GSVideo -- Capture".


3.- La madre del cordero, el Artoolkit, bueno en realidad usaremos su variante para Processing, el NyArtoolkit.


Descargamos el paquete más actual, en estos momentos el 1.1.7, de aquí


Descomprimimos el paquete


$ unzip nyar4psg-1.1.7.zip


Super importante !! tenemos que renombrar el directorio igual (con mayúsculas y minúsculas) que se llama el archivo .JAR que se encuentra en el directorio library de la extracción. En este caso nyar4psg-1.1.7/library/NyAR4psg.jar, por lo que:


$ mv nyar4psg-1.1.7 NyAR4psg


Ahora lo movemos al igual que hicimos con la librería GSVideo a la carpeta de las librerías de Java de la instalación de Processing


$ cp -R NyAR4psg
/home/tux/processing-xx/modes/java/libraries


Al igual que en el caso de GSVideo, si rearrancais el Processing os ha de aparecer una nueva entrada llamada NyAR4psg colgando del nodo de "libraries" con los códigos de ejemplo, pero todavía queda alguna cosilla que tocar.


4.- Lo siguiente será probar que todo funciona, para ello arrancaremos uno de los ejemplos dentro de NyAR4psg llamado "simpleLite". Como por defecto viene preparada para funcionar con la librería de Ideopor defecto del Processing tendremos que modificar el código para que utilice el CSVideo. Se tienen que modificar las siguientes entradas


En la carga de librerías sustituiremos
el código:


import processing.video.*;


por este otro


import codeanticode.gsvideo.*


En las declaraciones cambiaremos:


Capture cam;


por


GSCapture cam;


En la función setup cambiaremos;


cam=new Capture(this,640,480);


por


cam=new GSCapture(this,640,480);


Si en este momento ejecutáis el ejemplo, no debería daros ningún problema, pero en el supuesto de que la pantalla de captura de vídeo que se os abra se quede de color gris, deberéis añadir debajo de la línea


cam=new GSCapture(this,640,480);


el siguiente código


cam.start();


Para que inicialice la captura


A partir de aquí ya podéis imprimir los patrones "patterns" que vienen en formato PDF y se encuentran en el directorio processing-xx/modes/java/libraries/NyAR4psg/data"