Han pasado seis años desde que lancé mi primer tutorial sobre realidad aumentada. Ahora les comentaré cómo hacer realidad aumentadad NFT. No nos vamos a poner sentimentales; pero siempre que hablo sobre realidad aumentada+ processing me traen buenos recuerdos 😀

La semana pasada recibí un correo de Ryo; el creador de Nyartoolkit (librería de realidad aumentada multiplataforma) comentándome sobre su nueva versión de su librería que era compatible con processing 3 (la última actualización de processing). Esta nueva actualización de Nyartoolkit tenía una información interesante: la estabilidad de su sistema para trabajar Natural Feature Tracking (NFT), es decir no es necesario utilizar marcadores a blanco y negro como el Hiro tradicional, sino que permite reconocer imágenes a color y de diferentes formas.

Tutorial: realidad aumentada NFT

Primero vamos a explicar cómo instalar realidad aumentada con processing 3.2

  1. Instala processing.  La plataforma por excelencia en esta web -> https://processing.org/download/
  2. Descarga Nyartoolkit. En realidad esta librería existe para varias plataformas; pero en este caso usaremos para processing -> https://github.com/nyatla/NyARToolkit-for-Processing
  3. Algunos recordarán que antes era necesario descargar el quicktime y el WinVDIG para configurar el tema de video. Ahora simplemente debes asegurarte que funcione tu cámara web y que tengas (just in case) la librería de video ya instalada. Para hacer eso vamos a processing -> sketch -> importar librería -> añadir librería video install processing
  4. Ahora vamos a analizar nuestros archivos descargados de nyartoolkit. En realidad existen dos archivos que posiblemente sean necesario descargar https://github.com/nyatla/NyARToolkit-for-Processing/releases. En este caso podemos ver. Yo descargo estas dos porque en ambos tenemos información sobre las librerías más completas (nyar4psg y Nyartoolkit) y en el otro source code podemos ver la carpeta de archivos data completa.downloads nyartoolkit
  5. Abrimos el primer ejemplo -> examples -> simpleLite. Una vez abierto es necesario agregar las dos librerías que les comenté. Simplemente arrastramos estas librerías hacia el sketch.nyartoolkit processing
  6. Si te arroja un error con camera_data simplemente en la carpeta data buscamos este archivo y también lo arrastramos.camera para processing nyartoolkit
  7. Por fin -> Darle Run para ver si reconoce la cámara, marcador HIRO (que está en la carpeta data) y la imagen cubo.hiro realidad aumentada processing nyartoolkit
  8. Ahora que más! Pues a realizar el uso de NATURAL FEATURE TRACKING (NFT) Sí! Por que en realidad el tutorial es sobre este tópico 😉 En la carpeta example existe un ejemplo llamado nftfilesGENnyartoolkit NFT generator
  9. Utilizamos la imagen que deseemos (y que cumpla requisitos visuales importantes) e iniciamos el proceso de registro. Hacemos el import -> luego make feature set -> exportperu nyartoolkit NFT generator
  10. Luego le damos exportar y tendremos tres archivos distintos. En mi caso será peru.iset, peru.fset,peru.fset3. Estos tres elementos lo pondremos dentro de nuestro sketch.
  11. El sketch que vamos utilizar es el simpleNFT. Abrimos el sketch y cambiamos la linea de código 24, donde estará colocada la información de addNFTtarget (“infinitycat”) por nuestro archivo nombradonft cambiar marcador
  12. RUN! y veremos nuestro marcador y el ejemplo inicialnyartoolkit NFT PERU

El código sería:

/**
NyARToolkit for proce55ing/1.0.0
(c)2008-2011 nyatla
airmail(at)ebony.plala.or.jp

ARマーカとIdマーカを同時に使う例です。
ARマーカはkanji,hiro、idマーカは0,1番のマーカを使う事ができます。

This sample handles 2 ARToolkit style markers and 2 NyId markers at same time.
The ARToolKit marker files are kanji.patt and hiro.patt. NyId marker ids are #0 and #1.
*/
import processing.video.*;
import jp.nyatla.nyar4psg.*;

Capture cam;
MultiNft nya;

void setup() {
size(640,480,P3D);
colorMode(RGB, 100);
println(MultiMarker.VERSION);
cam=new Capture(this,640,480);
nya=new MultiNft(this,width,height,”camera_para5.dat”,NyAR4PsgConfig.CONFIG_PSG);
nya.addNftTarget(“peru”,160);//id=0
cam.start();
}

void draw()
{
if (cam.available() !=true) {
return;
}
cam.read();
nya.detect(cam);
background(0);
nya.drawBackground(cam);//frustumを考慮した背景描画
if(!nya.isExist(0)){
return;
}
nya.beginTransform(0);
fill(255,0,0);
translate(-80,55,20);
box(40);
nya.endTransform();

}

 

 

 

13 COMMENTS

  1. hola tengo algunas dudas con el processing 3
    no se si lo he configurado correctamente ya que processing 2.0.1 me corre perfectamente los ejemplos de Realidad Aumentada. quiero solicitarte una asesoría. saludos

        • Hola!
          En la nueva versión de nyartoolkit del mes pasado existe un ejemplo que no requiere opengl para arrancar. De hecho en algunos casos el OpenGL ya no se utiliza para proyectar imágenes.

  2. Hola amigo.
    Recien empiezo con realidad aumenta y conoci gracias a tu pagia Processing 3.
    Estoy siguiendo el tutorial pero llego hasta le punto 5 y alli me surge la duda, cuando dices “Simplemente arrastramos estas librerías hacia el sketch.” alli refieres a copiar las 2 librerias a la carpeta “simpleLite” ? Yo entiendo y lo hago, pero al ejecutar el programa me da el siguiente error “No library found for jp.nyatla.nyar4psg
    Libraries must be installed in a folder named ‘libraries’ inside the ‘sketchbook’ folder.”

    Ya proble creando la carpeta “Libraries” dentro de “simpleLite” y poniendo alli los 2 archivos jar pero sigo obteniendo el mismo error.

    Como puedo solucionarlo ???

    Desde ya gracias por tu respuesta.

    • Ya pude solucionar este problema. Ahora tengo otro
      Cuando ejecuto la aplicacion se prende la camara pero se no muestra nada, se queda la pantalla de colora gris.
      Luego en la parte de abajo de processing apararece este mensaje de error: “OpenGL error 1280 at bot beginDraw(): invalid enumerant NyAR4psg/3.0.4;NyARToolkit/5.0.7”
      Hay alguna forma de solucionarlo ? a que se debe ? ya busque por google y no encontre nada

      Estoy usando Windows 7

  3. Hola, muchas gracias por el tutorial.
    Tengo un problema en el punto 11, donde debo poner el nombre de mi marcador, ¿que nombre debo poner???
    yo puse el de la imagen que utilice para crear los archivos que luego arrastre al sketch. pero al ejecuar me tira un error que dice:
    NyAR4psg/3.0.5;NyARToolkit/5.0.9
    2017-03-20 16:18:46.839 java[5810:223255] Error loading /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio: dlopen(/Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio, 262): no suitable image found.

    …. Y continia un poco mas… acaso es algo en la ruta de los archivos??
    yo trate con:

    nya.addNftTarget(“data/marker_guarderia”,160);//id=0

    y con:

    nya.addNftTarget(“marker_guarderia”,160);//id=0

    …. los otros ejemplos con los marcadores que tren los tutoriales funcionan prefecto.
    gracias por a ayuda. saludos

      • Gracias. Después de asignar varias opciones de ruta de los archivos el sketch funciono.
        Aprovecho para felicitarte por este blog que recién estoy conociendo y me parece genial toda la información que compartes, seguramente te estaré preguntando algunas cosas en muchos de los posts que tienes.
        Saludos

Deja un comentario

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