Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2013-11-18 18:54:28 [TPE] La réalité augmentée GSvidéo, Artoolkit.. Besoin d'aide !!! Svp

Rweisha
nouveau membre
Date d'inscription: 2013-11-18
Messages: 2

[TPE] La réalité augmentée GSvidéo, Artoolkit.. Besoin d'aide !!! Svp



Bonsoir,

Suite a mon arriver en première je suis bien obliger de faire un tpe :p Donc mon groupe et moi nous nous sommes lancer dans la réalité augmentée avec processing. Donc nous faisons des recherches et nous nous renseignons jusqu'à tomber sur un site qui nous plait bien donc nous mettons tous en oeuvre, notre professeur nous recommande de mettre nos drivers de carte graphique a jour ... Nous lançons le programme --> MultiMarkerTest. Mais même avec le code tout fait nous rencontrons des problèmes de librairie donc ca réussi a trouver l'erreur. Mais cette erreur impossible a trouver la source etc ...

citation :

Framebuffer error (unknown error), rendering will probably not work as expected Read http://wiki.processing.org/w/OpenGL_Issues for help.
OpenGL error 1286 at bot beginDraw(): invalid framebuffer operation
GSVideo version: 1.0.0
NyAR4psg/1.3.1;NyARToolkit/4.1.1
OpenGL error 1286 at bot endDraw(): invalid framebuffer operation
java.lang.NullPointerException
    at processing.mode.java.runner.Runner.findException(Runner.java:926)
    at processing.mode.java.runner.Runner.reportException(Runner.java:871)
    at processing.mode.java.runner.Runner.exceptionEvent(Runner.java:797)
    at processing.mode.java.runner.Runner$2.run(Runner.java:686)

J'ai pris le code directement dans la librairie juste changer l'importation de la librairie GSvideo. Alors que le test de vidéo avec cette même librairie fonctionne très bien. Si vous voulez le code je vous le met si vous en avez besoin sinon c'est tout simplement dans la librairie NyArtoolkit.

citation :

/*
  MultiMarker class function test program

*/
import codeanticode.gsvideo.*;
import jp.nyatla.nyar4psg.*;
import processing.opengl.*;

PFont font=createFont("FFScala", 32);

GSCapture cam; MultiMarker nya;
void setup() {
   size(640,480,P3D);
   colorMode(RGB, 100);
   cam=new GSCapture(this,width,height);
   cam.start();
   nya=new MultiMarker(this,width,height,"camera_para.dat",new NyAR4PsgConfig(NyAR4PsgConfig.CS_RIGHT_HAND,NyAR4PsgConfig.TM_NYARTK));
   nya.setARClipping(100,1000);
  nya.setConfidenceThreshold(0.6);
  nya.addARMarker("patt.hiro",80);
  nya.addARMarker("patt.kanji",80);
  nya.addNyIdMarker(31,80);
  println(nya.VERSION); //バージョンの表示
}
int c=0;
void draw() {
  c++;
  if (cam.available() !=true) {
    return;
  }
  background(255);
  cam.read();
  //バックグラウンドを描画
  nya.drawBackground(cam);
  nya.detect(cam);
  if(nya.isExistMarker(0)){
    nya.beginTransform(0);//マーカ座標系に設定
    {
      drawBox(255,0,0);
      drawMarkerXYPos(0);
    }
    nya.endTransform();  //マーカ座標系を終了
    drawMarkerPatt(0);
    drawVertex(0);
    //マーカのスクリーン座標を中心に円を書く
    PVector p=nya.marker2ScreenCoordSystem(0,0,0,0);
    noFill();
    ellipse(p.x,p.y,200,200);
  }
  if(nya.isExistMarker(1)){
    nya.beginTransform(1);//マーカ座標系に設定
    {
      drawBox(0,255,0);
      drawMarkerXYPos(1);
    }
    nya.endTransform();  //マーカ座標系を終了
    drawMarkerPatt(1);
    drawVertex(1);
  }
  if(nya.isExistMarker(2)){
    nya.beginTransform(2);//マーカ座標系に設定
    {
      drawBox(0,0,255);
      drawMarkerXYPos(2);
      println(nya.getLife(2));
    }
    nya.endTransform();  //マーカ座標系を終了
    drawMarkerPatt(2);
    drawVertex(2);
  }
 
}
void drawBox(int ir,int ig,int ib)
{
  pushMatrix();
  drawgrid();
  fill(ir,ig,ib);
  stroke(255,200,0);
  translate(0,0,20);
  box(40);
  noFill();
  translate(0,0,-20);
  rect(-40,-40,80,80);
  popMatrix();
}

//この関数は、マーカパターンを描画します。
void drawMarkerPatt(int id)
{
  PImage p=nya.pickupMarkerImage(id,
    40,40,
    -40,40,
    -40,-40,
    40,-40,
    100,100);
//  PImage p=nya.pickupRectMarkerImage(id,-40,-40,80,80,100,100);
  image(p,id*100,0);
}

//この関数は、マーカ平面上の点を描画します。
void drawMarkerXYPos(int id)
{
  pushMatrix();
    PVector pos=nya.screen2MarkerCoordSystem(id,mouseX,mouseY);
    translate(pos.x,pos.y,0);
    noFill();
    stroke(0,0,100);
    ellipse(0,0,20-c%20,20-c%20);
  popMatrix();
}

//この関数は、マーカ頂点の情報を描画します。
void drawVertex(int id)
{
  PVector[] i_v=nya.getMarkerVertex2D(id);
  textFont(font,10.0);
  stroke(100,0,0);
  for(int i=0;i<4;i++){
    fill(100,0,0);
    ellipse(i_v[i].x,i_v[i].y,6,6);
    fill(0,0,0);
    text("("+i_v[i].x+","+i_v[i].y+")",i_v[i].x,i_v[i].y);
  }
}

void drawgrid()
{
  pushMatrix();
  stroke(0);
  strokeWeight(2);
  line(0,0,0,100,0,0);
  textFont(font,20.0); text("X",100,0,0);
  line(0,0,0,0,100,0);
  textFont(font,20.0); text("Y",0,100,0);
  line(0,0,0,0,0,100);
  textFont(font,20.0); text("Z",0,0,100);
  popMatrix();
}

J'espère que vous pourrez m'aider s'il vous plaît car je suis dans la merde pour l'instant Merci. wink

PS : Je n'y connais rien hmm

Dernière modification par Rweisha (2013-11-18 18:56:41)

Hors ligne

 

#2 2013-11-20 14:41:35 Re : [TPE] La réalité augmentée GSvidéo, Artoolkit.. Besoin d'aide !!! Svp

FM64
membre
Lieu: Paris 19
Date d'inscription: 2013-10-10
Messages: 18
Site web

Re: [TPE] La réalité augmentée GSvidéo, Artoolkit.. Besoin d'aide !!! Svp



Salut Rweisha,
Je ne sais pas quelle version de Processing tu utilises mais la librairie GSVideo n'est plus supportée depuis la version 2.0 . A priori le développement à été arrêté car depuis la version 2.0, Processing s'est justement appuyée sur GSVideo pour refondre complètement la libraire Video qui est incluse d'origine dans le logiciel.
Essaye peut-être la version 1.5.1 qui est toujours disponible sur le site de Processing.
Bon courage pour ton TPE wink

Hors ligne

 

#3 2013-12-10 16:24:13 Re : [TPE] La réalité augmentée GSvidéo, Artoolkit.. Besoin d'aide !!! Svp

Rweisha
nouveau membre
Date d'inscription: 2013-11-18
Messages: 2

Re: [TPE] La réalité augmentée GSvidéo, Artoolkit.. Besoin d'aide !!! Svp



Merci enfin réussi après des semaines de recherche smile Mais maintenant que tout fonctionne je voudrait créer mon Marqueur Mais je ne trouve pas comment faire maleureusement si quelqu'un pourrait m'aidez sa m'enlèverais une épine du pieds Merci

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024