Jmyron + Nyartoolkit #processing

Jmyron es una librería muy usada para motiontracking pero es a la vez empleada para hacer realidad aumentada en Simpleartoolkit.

Simpleartoolkit fue desarrollada por Bryan Chung y es una librería extremadamente fácil para hacer realidad aumentada.  Pero al ser muy fácil su uso pierde algunas características vitales para su mejor desempeño.

Cuando tuve problemas con quicktime y su derivados, busqué una alternativa para solucionar mi problema. Entre ellas estaba Gsvideo (No pude ni siquiera darle play) y Jmyron.

Como ustedes sabran el casi el 100 % de mis ejemplos son con Nyartoolkit, así que decidí juntar Jmyron y Nyartoolkit para los que tienen problemas con Windvig y así se olviden por siempre (o por un buen tiempo) de instalar Quicktime y demás.

  • Importemos librerías: Como vemos Jmyron a la cabeza hace la función de Capture cam.*; El resto de importaciones son el conocido OpenGl y Nyartoolkit.

import JMyron.*;
import processing.opengl.*;
import jp.nyatla.nyar4psg.*;
import javax.media.opengl.*;

  • Llamemos a las variables: Lo único raro que podemos notar aquí es haber llamado Pimage. Se podría decir que Jmyron necesita convertir la imagen de la cámara para poder hacer efectos de realidad aumentada.

JMyron m;
NyARBoard nya;
PImage img;

  • Escribimos todo lo referente a void setup  y void draw como tamaño, variables del marcador y llamadas a Jmyron.

void setup(){
size(320,240,OPENGL);//tamaños de la pantalla
frameRate(90);// para mejorar la velocidad de la imagen por cuadro
m = new JMyron();// llamando a Jmyron
m.start(width,height);// comienza a capturar la imagen
img = createImage(width, height, ARGB);
//crear imagen con las propiedades de ancho y alto y ARG( RGB + Canal Alfa)
nya=new NyARBoard(this,width,height,”camera_para.dat”,”patt.hiro”,80);
// se ingresan las variables de Nyartoolkit
nya.gsThreshold=120;
nya.cfThreshold=0.4;

void draw(){

m.update();//update la cámara
m.imageCopy(img.pixels);
img.updatePixels();

hint(DISABLE_DEPTH_TEST); // variables de Nayrtoolkit
image(img,0,0,width,height);
hint(ENABLE_DEPTH_TEST);

if(nya.detect(img)) { // detectar la imagen con respecto al marcador

PGraphicsOpenGL pgl = (PGraphicsOpenGL) g;

nya.beginTransform(pgl);

  • Agregamos el gráfico deseado.

stroke(255,200,0);
translate(0,0,20);
box(40);

  • Y cerramos finalmente.

nya.endTransform();
}

}

  • Puedo darme cuenta que en la sensibilidad y el seguimiento del marcador, Jmyron, parece que presenta un mejor desempeño.
  • Pero en cuestión de resolución de pantalla parece tener algunas dificultades, pues al tratar incrementara el alto y ancho ocurre un error.
  • La resolución ideal es 320 x 240
Recibe toda la información necesaria sobre realidad aumentada y el mundo de la innovación. Descarga gratis material especial de nuestra comunidad.

19 Comments

  1. paola August 2, 2010
    • emilio vegas ubillus August 2, 2010
    • Jesus May 24, 2011
      • emilio vegas ubillus May 25, 2011
  2. paola August 5, 2010
  3. Copernico September 20, 2010
    • emilio vegas ubillus September 20, 2010
  4. juan pablo February 6, 2011
  5. juan pablo February 6, 2011
    • emilio vegas ubillus February 7, 2011
  6. juan pablo February 7, 2011
  7. Juan Placenta March 15, 2012
  8. Juan Placenta March 15, 2012
    • emilio vegas ubillus March 15, 2012
      • Juan Placenta March 15, 2012
        • emilio vegas ubillus March 15, 2012
  9. Juan Placenta March 16, 2012
  10. Mario Alberto Hedz Hedz April 12, 2013
  11. Mario Alberto Hedz Hedz April 12, 2013

Leave a Reply