2010-07-11 5 views
3

Je recherche une bibliothèque similaire à ARToolKit. Il doit prendre en charge le traitement d'une seule image et rechercher cette image pour un marqueur. S'il en trouve un, je veux qu'il renvoie l'angle/point de vue de la caméra en fonction du marqueur. Je n'ai rien trouvé via Google, est-ce que quelque chose comme ça existe?Bibliothèque pour obtenir un angle de caméra via un marqueur

+0

Comment savez-vous que vous êtes un vrai geek? L'attention du monde entier se porte en Afrique du Sud lors du coup d'envoi du dernier match du plus grand événement de football, et vous posez des questions sur StackOverflow à la minute même. Je sais je sais. Vous avez cassé votre vuvuzela. –

+0

@Josto: Parlez-vous de cet événement sportif qui semble avoir lieu en ce moment? C'est à propos du football? Bon à savoir quand on parle avec des gens ailleurs que SO. –

+0

Qu'est-ce qui vous empêche d'utiliser ARToolKit? –

Répondre

2

Je réponds à cette question afin que quiconque trébuche sur ce problème/cette question n'a pas à faire les mêmes recherches que moi.

Apparemment, l'accès et le traitement d'une seule image ne correspondent pas tout à fait à la définition de la réalité augmentée. Il y a un autre mot-clé pour cela que j'ai déjà oublié (désolé), mais au cas où vous voulez utiliser google, vous ne devriez pas vous concentrer uniquement sur les logiciels liés à l'AR.

Pour résoudre mon problème, j'ai utilisé deux approches. Le premier était d'utiliser l'ARToolKit avec gstreamer et ffmpeg. J'ai transformé mon image unique en une seconde de vidéo avec ffmpeg, j'ai exporté la chaîne ARTOOLKIT_CONFIG puis rendu l'image avec ARToolKit. Ce n'était pas vraiment génial car cela est très limité et je ne peux pas vraiment récupérer l'image rendue sans analyser la sortie de artoolkit-opengl.

Ma seconde approche cependant m'a beaucoup plu: j'ai utilisé l'OpenCV-Library pour détecter un marqueur. Un exemple pour quelque chose comme ça peut être trouvé ici: http://dasl.mem.drexel.edu/~noahKuntz/openCVTut10.html J'ai ensuite exporté les paramètres de caméra reconnus et les ai transformés pour correspondre à la matrice utilisée par le Irrlich-Engine (j'ai aussi essayé Ogre mais Irrlicht me semblait plus agréable) et ensuite rendu mon objet avec elle sur l'image. Je peux ensuite obtenir le résultat final avec la fonction transformDataToImage() d'Irrlicht. Le seul inconvénient est que je dois avoir un X-Server en cours d'exécution pour obtenir l'image rendue, mais je peux vivre avec cela. Ps: N'essayez pas ceci avec le marqueur carré trouvé dans le tutoriel que j'ai mentionné ci-dessus. Il n'est pas possible de détecter la rotation exacte du marqueur pour des raisons évidentes.

+0

J'apprécierais vraiment si vous pouviez indiquer comment vous avez transformé les paramètres de la caméra pour les adapter aux matrices d'Irrlicht. Comment construiriez-vous la matrice projective (utilisée dans 'camera-> setProjectionMatrix()') considérant qu'Irrlicht utilise un système de coordonnées gaucher? Merci. –

Questions connexes