La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

ARToolkit Augmented Reality Toolkit NG NNGGUKUKYEYEETETNTNTYYNNGGUKUKYEYEETETNTNTYYY PO PPOONJNJROROONONYAYATTHHAANNPPOONJNJROROONONYAYATTHHAANNTHAN.

Présentations similaires


Présentation au sujet: "ARToolkit Augmented Reality Toolkit NG NNGGUKUKYEYEETETNTNTYYNNGGUKUKYEYEETETNTNTYYY PO PPOONJNJROROONONYAYATTHHAANNPPOONJNJROROONONYAYATTHHAANNTHAN."— Transcription de la présentation:

1 ARToolkit Augmented Reality Toolkit NG NNGGUKUKYEYEETETNTNTYYNNGGUKUKYEYEETETNTNTYYY PO PPOONJNJROROONONYAYATTHHAANNPPOONJNJROROONONYAYATTHHAANNTHAN

2 Ce que nous allons présenter… Introduction Introduction Architecture Architecture Installation Installation Principes de développement Principes de développement Tout ce quon peut faire avec… Tout ce quon peut faire avec… Limitations Limitations Outils autour de ARToolkit Outils autour de ARToolkit Demo Demo NGUYEN Ketty & PONROY Jonathan= 2 =

3 En quelques mots… Librairie C/C++ avec des outils vidéo Librairie C/C++ avec des outils vidéo – – Fonctions prédéfinies – – Utilisation des différents outils Réalité augmentée en temps réel Réalité augmentée en temps réel Introduction dobjets 3D dans le monde réel par marqueursIntroduction dobjets 3D dans le monde réel par marqueurs NGUYEN Ketty & PONROY Jonathan= 3 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

4 Architecture OpenGL pour le rendu OpenGL pour le rendu GLUT pour les évènements et dépendance hardware de la librairie video GLUT pour les évènements et dépendance hardware de la librairie video API standard sur chaque platform (e.g win32 pour Windows) API standard sur chaque platform (e.g win32 pour Windows) NGUYEN Ketty & PONROY Jonathan= 4 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

5 Structure Lutilisateur peut facilement remplacer un module par un autre Lutilisateur peut facilement remplacer un module par un autre Flux de données Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo NGUYEN Ketty & PONROY Jonathan= 5 =

6 Installation Le site (section documentation setup ARToolkit) Le site (section documentation setup ARToolkit) donne la liste des éléments à télécharger ARToolkit Glut Librairies pour la webcam ReadMe disponible pour chaque application expliquant toute la procédure à suivre ReadMe disponible pour chaque application expliquant toute la procédure à suivre Multi-plateforme : Windows, Linux et Mac Multi-plateforme : Windows, Linux et Mac NGUYEN Ketty & PONROY Jonathan= 6 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

7 Le fonctionnement global Principes de développement NGUYEN Ketty & PONROY Jonathan= 7 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

8 static void mainLoop(void) { static int contF = 0; ARUint8 *dataPtr; ARMarkerInfo *marker_info; int marker_num; int j, k; /* grab a vide frame */ if( (dataPtr = (ARUint8 *)arVideoGetImage()) == NULL ) { arUtilSleep(2); return; } if( count == 0 ) arUtilTimerReset(); count++; argDrawMode2D();... Chargement d'une image NGUYEN Ketty & PONROY Jonathan= 8 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

9 Détection du marqueur..... /* grab a vide frame */ if( (dataPtr = (ARUint8 *)arVideoGetImage()) == NULL ) { arUtilSleep(2); return; } if( count == 0 ) arUtilTimerReset(); count++; argDrawMode2D(); argDispImage( dataPtr, 0,0 ); /* detect the markers in the video frame */ if( arDetectMarker(dataPtr, thresh, &marker_info, &marker_num) < 0 ) { cleanup(); exit(0); } arVideoCapNext();..... NGUYEN Ketty & PONROY Jonathan= 9 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

10 .... if( arDetectMarker(dataPtr, thresh, &marker_info, &marker_num) < 0 ) { cleanup(); exit(0); } arVideoCapNext(); /* check for object visibility */ k = -1; for( j = 0; j < marker_num; j++ ) { if( patt_id == marker_info[j].id ) { if( k == -1 ) k = j; else if( marker_info[k].cf < marker_info[j].cf ) k = j; } if( k == -1 ) {.... Reconnaissance du symbole NGUYEN Ketty & PONROY Jonathan= 10 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

11 .... /* check for object visibility */.... /* get the transformation between the marker and the real camera */ arGetTransMat(&marker_info[k], patt_center, patt_width, patt_trans); draw(); argSwapBuffers(); } Calcul de la matrice de transformation NGUYEN Ketty & PONROY Jonathan= 11 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

12 static void draw( void ) {.... /* load the camera transformation matrix */ argConvGlpara(patt_trans, gl_para); glMatrixMode(GL_MODELVIEW); glLoadMatrixd( gl_para ); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glLightfv(GL_LIGHT0, GL_AMBIENT, ambi); glLightfv(GL_LIGHT0, GL_DIFFUSE, lightZeroColor); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_flash); glMaterialfv(GL_FRONT, GL_SHININESS, mat_flash_shiny); glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient); glMatrixMode(GL_MODELVIEW); //glTranslatef( 0.0, 0.0, 25.0 ); glTranslatef( 0, 0, 25.0 ); glutSolidCube(50.0); glDisable( GL_LIGHTING ); glDisable( GL_DEPTH_TEST ); Ajout des objets 3D NGUYEN Ketty & PONROY Jonathan= 12 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

13 Tout ce qu'on peut faire avec... Ex: #pattern1 cone Data/patt.hiro Un fichier contient lensemble des patterns à reconnaître pendant la session Un fichier contient lensemble des patterns à reconnaître pendant la session Description du pattern comme suit – Nom – Fichier du pattern – Largeur du marqueur – Centre du marqueur Utiliser plusieurs patterns simultanément NGUYEN Ketty & PONROY Jonathan= 13 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

14 Créer ses propres patterns avec bin/mk_patt NGUYEN Ketty & PONROY Jonathan= 14 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

15 Utilisation du pattern au niveau du code char *patt_name = "Data/patt.hiro";..... static void init( void ) {.... arParamChangeSize( &wparam, xsize, ysize, &cparam ); arInitCparam( &cparam ); printf("*** Camera Parameter ***\n"); arParamDisp( &cparam ); if( (patt_id=arLoadPatt(patt_name)) < 0 ) { printf("pattern load error !!\n"); exit(0); } /* open the graphics window */ argInit( &cparam, 1.0, 0, 0, 0, 0 ); } NGUYEN Ketty & PONROY Jonathan= 15 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

16 Calibrer la caméra Deux types de calibration (one step, two step) Two step Two step – Imprimer calib_cpara.pdf et calib_dist.pdf – Lancer calib_dist avant calib_cpara NGUYEN Ketty & PONROY Jonathan= 16 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

17 calib_dist NGUYEN Ketty & PONROY Jonathan= 17 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo Prendre une autre image et répéter le processus 5 à 10 fois avec des angles de vues différents pour avoir une calibration plus précise Ce programme donne le facteur de distorsion et les coordonnées du centre de l'image

18 calib_cparam – Pour trouver la focale et autres paramètres – Entrer les données fournies par calib_dist – Reculer limage de la caméra – Répéter le processus 5 fois NGUYEN Ketty & PONROY Jonathan= 18 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

19 Par défaut Espacement entre les points : 40mm Distance déloignement à la caméra : 100mm Nombre de fois à répéter la procédure : 5 inter_coord[k][j][i+7][0] = 40.0*i; inter_coord[k][j][i+7][1] = 40.0*j; inter_coord[k][j][i+7][2] = 100.0*k; *loop_num = 5; Pour personnaliser… NGUYEN Ketty & PONROY Jonathan= 19 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

20 Limitations NGUYEN Ketty & PONROY Jonathan= 20 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo Limitations matérielles Limitations matérielles Reconnaissance de pattern Reconnaissance de pattern – Ne pas cacher la moindre zone du pattern – Etre dans de bonnes conditions lumineuses – Avoir des patterns simples Une vue proche du pattern révèle des sauts si la fonction d'historique n'est pas utilisée Une vue proche du pattern révèle des sauts si la fonction d'historique n'est pas utilisée Détection de patterns2D et pas patterns3D Détection de patterns2D et pas patterns3D

21 Outils de création de nouveaux patterns Modules supplémentaires Adaptations Améliorations Module de support du VRML Adaptation pour java Adaptation pour pocket pc Version pour matlab Version améliorée de ARToolkit Outils autour de ARToolkit NGUYEN Ketty & PONROY Jonathan= 21 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

22 Améliorations Site sur ARToolkit Plus : Site sur ARToolkit Plus : – – Amélioration sur conditions de luminosité graz.ac.at/handheld_ar/artoolkitplus.php Real-time Augmented Reality: Real-time Augmented Reality: – – Système de tracking robuste NGUYEN Ketty & PONROY Jonathan= 22 = Quest-ce Architecture Installation Développement Possibilités Limitations Outils Demo

23 DEMO NGUYEN Ketty & PONROY Jonathan= 23 = Quest-ce Architecture Installation Développement Possibilités Outils Limitations Demo

24

25

26

27

28

29

30


Télécharger ppt "ARToolkit Augmented Reality Toolkit NG NNGGUKUKYEYEETETNTNTYYNNGGUKUKYEYEETETNTNTYYY PO PPOONJNJROROONONYAYATTHHAANNPPOONJNJROROONONYAYATTHHAANNTHAN."

Présentations similaires


Annonces Google