View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

ARToolkit avec Processing

ARToolkit

Mon choix = la librairie nyar4psg !

  • La meilleure option que j'ai trouvée pour utiliser ARToolkit dans Processing est la librairie java NyARToolkit qui dispose d'un "port" pour Processing !! Que demande le peuple ?!
  • NyARToolKit : librairie Java de ARTOOLKit (site japonais) http://nyatla.jp/nyartoolkit/wp/?page_id=198 Le TOP : existe en librairie Processing : http://nyatla.jp/nyartoolkit/wp/?page_id=357 A priori, le plus facile à mettre en oeuvre dans Processing... !!
  • Bien qu'elle soit écrite en Java, cette librairie est étonnamment rapide en exécution !

Tutoriel / exemple :

Installation

Pré-requis :

  • Evidemment Processing 1-5
  • Et aussi la librairie GSVideo (pour la capture vidéo !)

Obtenir et imprimer des "markers"

Dans une première approche

  • Pour avoir les exemples de patterns (et pour créer des « Markers ») voir : http://www.cs.utah.edu/gdc/projects/augmentedreality/ et télécharger le fichier... Les « markers » ou « pattern » (une centaine ), sont dans le rép ~/Téléchargement/paternMaker/examples/gif
  • Sélectionner Pattern de son choix et l'imprimer. Exemple ici avec le "marker" 99 :

Créer des markers ?

  • Pour faire ses propres pattern ? Voir le « readMe » dans /patternMaker/doc/ Il existe un prog exécutable en Java et C

Infos technique sur les markers

Principe général d'un programme Processing utilisant ARToolkit avec la librairie nyar4psg

Inclure les fichiers :

import java.io.*; // for the loadPatternFilenames() function
import jp.nyatla.nyar4psg.*; // the NyARToolkit Processing library

Déclarations :

On déclare un objet MultiTracker :

MultiMarker nya;

Setup

On initialise l'objet MultiMarker : On charge le nombre voulu de fichiers de pattern à rechercher que l'on ajoute à l'objet MultiMarker

Draw :

  • On detect les pattern dans l'image :
nya.detect(image); // detect markers in the input image at the correct resolution (incorrect resolution will give assertion error)
  • On dessine les coins :
  • On peut dessiner ce qu'on veut sur la zone de l'image en 3D en prenant en compte la perspective et l'orientation du pattern :

Trucs techniques de mise en oeuvre :

  • utiliser des markers 4x4 suffit et donne un bon degré de robustesse et permet de réaliser potentiellement 256 markers différents (16²) ...
  • utiliser des markers ayant une bonne alternance de blancs/noir qui semblent donner un meilleur taux de confiance de détection.