Tutorial realidad aumentada NFT + processing 3

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();

}

 

 

 

Recibe toda la información necesaria sobre realidad aumentada y el mundo de la innovación. Descarga gratis material especial de nuestra comunidad.

10 Comments

  1. roy May 20, 2016
    • Emilio Vegas May 20, 2016
      • roy May 21, 2016
        • Emilio Vegas May 22, 2016
  2. Jose farrel June 10, 2016
    • Jose farrel June 10, 2016
      • Luis Jimenez September 27, 2016
      • Emilio Vegas October 9, 2016
        • Jose December 13, 2016
          • Luis Jimenez January 4, 2017

Leave a Reply