Instalar ARToolKit 2.72.1 en Ubuntu 10.10

Primero hay que instalar algunas dependencias:

sudo apt-get install freeglut3-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxi-dev libxmu-headers libxmu-dev libjpeg62-dev libglib2.0-dev libgtk2.0-dev

Después descargar, extraer, configurar y compilar el código de ARToolKit:

wget "http://sourceforge.net/projects/artoolkit/files/artoolkit/2.72.1/ARToolKit-2.72.1.tgz/download" -O ARToolKit-2.72.1.tgz
tar xzvpf ARToolKit-2.72.1.tgz
cd ARToolKit
./Configure
make

Al hacer ./Configure se pueden seleccionar varios tipos de entrada (elegir GStreamer, la opción 5):

"1: Video4Linux" para capturadoras de video (mediante V4L versión 1).
"2: Video4Linux+JPEG Decompression (EyeToy)" para cámaras Play Station EyeToy (mediante V4L versión 1).
"3: Digital Video Camcoder throught IEEE 1394 (DV Format)" para cámaras firewire.
"4: Digital Video Camera throught IEEE 1394 (VGA NONCOMPRESSED Image Format)" para cámaras firewire.
"5: GStreamer Media Framework" para webcams USB.

Luego hay que copiar los ficheros de cabecera a nuestra carpeta de include:

sudo cp -R ./include/AR /usr/local/include/

Y las librerías a la carpeta de librerías:

sudo cp ./lib/*.a /usr/local/lib/

Ahora hay que crear el fichero para que pkg-config sepa donde están estas nuevas librerías y sus ficheros de cabecera. En Ubuntu 10.10 esto se configura en la carpeta /usr/lib/pkg-config o en  /usr/lib/pkgconfig ya que puede variar de una instalación a otra. Hay que crear un fichero llamado AR.pc dentro de esa carpeta con este contenido (siendo super-usuario):

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${exec_prefix}/include

Name: AR
Description: ARToolKit libs and includes
Version: 2.72.1
Libs: -L${libdir} -lARgsub -lARgsub_lite -lARgsubUtil -lARMulti -lARvideo -lAR
Cflags: -I${includedir}/AR

Así se podrá usar pkg-config para crear los Makefile más facilmente:

$ pkg-config --cflags AR
-I/usr/local/include/AR
$ pkg-config --libs AR
-L/usr/local/lib -lARgsub -lARgsub_lite -lARgsubUtil -lARMulti -lARvideo -lAR

También es recomendable meter la ruta donde se han copiado las librerías a la variable de entorno LD_LIBRARY_PATH. Se puede configurar en el fichero “~/.bashrc” que se encuentra en la carpeta home del usuario.

export LD_LIBRARY_PATH=/usr/local/lib

Antes de ejecutar alguno de los ejemplos que se encuentran en la carpeta “bin” de ARToolKit hay que exportar una variable de configuración para que ARToolKit sepa de dónde capturar el vídeo y en qué formato hacerlo. Yo por ejemplo uso esta configuración:

export ARTOOLKIT_CONFIG="v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! fakesink"

Ojo al dispositivo que queráis usar (devide=/dev/video0). También se puede configurar el tamaño de las imágenes capturadas usando los parámetros height y width, aunque es posible que de fallos si se selecciona un tamaño no compatible con la cámara.

export ARTOOLKIT_CONFIG="v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24,width=640,height=480 ! identity name=artoolkit ! fakesink"

También se puede usar un fichero de vídeo para hacer pruebas o para desarrollar en un ordenador que no tenga webcam real:

export ARTOOLKIT_CONFIG="filesrc location=gstreamer_test_xvid.avi ! decodebin ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! fakesink"

Para poder ver qué es lo que se ve en la cámara y saber si realmente esta funciona se puede usar el siguiente comando:

gst-launch-0.10 v4l2src ! xvimagesink

De la misma manera se puede utilizar para probar las configuraciones a pasar a la variable ARTOOLKIT_CONFIG, con la salvedad de que habrá que cambiar fakesink por xvimagesink según si se va a probar gst-launch-0.10 o se va a configurar la variable de ARToolKit.

Una vez configurada la variable ARTOOLKIT_CONFIG podemos ir a la carpeta bin de ARToolKit y ejecutar uno de los test:

cd bin
./simpleTest

Si se utiliza V4L1 con algunas cámaras de vídeo en vez de devolver una paleta RGB se devuelve una paleta YUV que ARToolKit no espera recibir por defecto. Para solucionar el problema hay que añadir la siguiente opción a la variable de configuración ARTOOLKIT_CONFIG. Se pueden ver otras opciones de configuración con V4L1 en la documentación oficial.

-palette=YUV420P

Fuentes: http://www.block4.com/index.php?id=107

http://artoolkit.sourceforge.net/apidoc/video/#VideoLinuxV4L

You might also like

Cómo instalar Google Chrome en Ubuntu
Primero hay que añadir la llave de firmado y el repositorio:wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub...

Instalar OpenCV 2.3.1a en Ubuntu 11.10
Para instalar la versión 2.1 desde los repositorios ejecutar: sudo apt-get install libcv-dev libcv2.1...

Instalar OpenCV 2.3.1 en Ubuntu 12.04
La última versión disponible en los repositorios es la OpenCV 2.3.1 así que tan solo hay que ejecutar...

Instalar osgART 2.0 RC3 con OpenSceneGraph 2.8.3 o 2.9.6 y soporte para Collada en Ubuntu 12.04
Antes de instalar osgART tenemos que instalar ARToolKit, collada-dom y OpenSceneGraph así que echar...

Dejar un comentario?

1 Comentarios.

  1. Hola! Gracias por el tutorial, aunque tengo dos problemas. El primero sería que debo de ser el único loco que por mucho que siga las distintas formas de configuración o instalación de ARToolKit, en /bin solo tiene dos carpetas y todos los tests están en /examples. No sé si hay algún problema con eso.
    El otro es que trabajo con una máquina virtual y no consigo que me detecte la webcam.. Pero eso posiblemente ya sea culpa del modelo.

    ¡Gracias de nuevo!

Deje un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.