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

Dejar un comentario?

6 Comentarios.

  1. Install ARToolKit 2.72.1 in Ubuntu 11.10 and 12.04 | Programming and Technology - pingback on 21 21UTC mayo 21UTC 2012 :10 11Mon, 21 May 2012 11:10:13 +000013.
  2. Kinect on Ubuntu 12.04. | Adrian Cooke - pingback on 03 03UTC julio 03UTC 2012 :45 09Tue, 03 Jul 2012 09:45:47 +000047.
  3. Hello,

    thanks for the tutorial, it worked!

  4. Hello,

    I Have one question for you.
    why in my bin folder in ARTOOLKIT, there was not simpleTest file ?

    • I’m not sure why that happend to you. (As far as I know) There is no option in ARToolKit to compile or not to compile the samples (as there is in OpenCV for example by using -D BUILD_EXAMPLES=ON with cmake). May be you could run the following to locate simpleTest on your system:

      sudo updatedb
      locate simpleTest

  5. Thanks for such a great tutorial. It helped me finish my coding research just in time!

    Responder

Deje un comentario

Trackbacks y Pingbacks: