{{tag>Karmic Lucid BROUILLON}} ---- ====== touchlib ====== Touchlib est une librairie sous licence BSD qui permet de créer des interfaces tactiles multitouch avec une simple webcam (comme dans cette [[http://www.youtube.com/watch?v=XPu99hfn_OE&feature=related|vidéo]], ou encore [[http://fr.wikipedia.org/wiki/Microsoft_Surface|la table tactile surface]] de Microsoft). L'ennui, c'est que pour l'instant, il n'y a pas de paquet pour ubuntu donc il va falloir compiler. ===== Pré-requis ===== * Disposer des [[:sudo|droits d'administration]]. * Disposer d'une connexion à Internet configurée et activée. * Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt://subversion]]** * Avoir [[:opencv#par_compilation|openCV]] installé sur son ordinateur ===== Installation ===== [[:tutoriel:comment_installer_un_paquet|Installez]] les bibliothèques nécessaires à la compilation : **[[apt://libxmu-dev,libxmu-headers,libxmuu-dev,libxpm-dev,libxtrap-dev,libxtst-dev,libxv-dev,xlibs-dev,fftw-dev,fftw2,glutg3,libalut-dev,libalut0,libg2c0,libglui-dev,libglui2c2,freeglut3-dev,glutg3-dev,libgle3,libgle3-dev,libglew-dev,libglew1,libglitz-glx1,libglitz-glx1-dev,libglitz1,libglitz1-dev,libglut3-dev,libsage-dev,libsage0,libxt-dev,libcv-dev,libcv1,libcvaux-dev,libcvaux1,libhighgui-dev,libhighgui1|libxmu-dev libxmu-headers libxmuu-dev libxpm-dev libxtrap-dev libxtst-dev libxv-dev xlibs-dev fftw-dev fftw2 glutg3 libalut-dev libalut0 libg2c0 libglui-dev libglui2c2 freeglut3-dev glutg3-dev libgle3 libgle3-dev libglew-dev libglew1 libglitz-glx1 libglitz-glx1-dev libglitz1 libglitz1-dev libglut3-dev libsage-dev libsage0 libxt-dev libcv-dev libcv1 libcvaux-dev libcvaux1 libhighgui-dev libhighgui1]]** Récupérez les sources : svn co http://touchlib.googlecode.com/svn/trunk/ multitouch Ensuite lancez la commande : cmake . S'il vous manque une dépendance (dans ce cas OpenGL par exemple), il y aura une ligne de ce genre OpenGL not found - some applications may not be built Installez-la puis relancez la commande. Une fois qu'il n'y aura plus d'erreur tapez : make Si la compilation plante et affiche ~/multitouch/src/RectifyFilter.cpp:32: error: ‘printf’ was not declared in this scope make[2]: *** [src/CMakeFiles/touchlib.dir/RectifyFilter.o] Erreur 1 make[1]: *** [src/CMakeFiles/touchlib.dir/all] Erreur 2 make: *** [all] Erreur 2 Pas de panique, c'est normal :-P. Éditez le fichier gedit ~/multitouch/src/RectifyFilter.cpp Et rajoutez à la première ligne #include Relancez la compilation. Si ça plante toujours, postez sur le forum ===== Configuration ===== Pour lancer la configuration, tapez ./src/configapp Vous aurez toute une série de fenêtres qui s'ouvriront. Pour voir comment les configurer, allez (en) [[http://wiki.nuigroup.com/Touchlib_Configapp|ici]] ===== Utilisation ===== Il y a des démos disponibles dans le fichier demos. Vous pouvez maintenant vous amuser. Par exemple pour lancer l'application smoke via la [[:commande_shell|commande]] suivante : ./multitouch/demos/smoke/smoke ===== Problèmes connus ===== Si vous avez ce genre de message quand vous lancez ./src/configapp VIDIOC_QUERYCTRL: Erreur d'entrée/sortie HIGHGUI ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV Unable to stop the stream.: Mauvais descripteur de fichier HIGHGUI ERROR: V4L: Pixel format of incoming image is unsupported by OpenCV Il semblerait que ce soit dû à une incompatibilité entre v4l2 et OpenCV. Allez voir sur [[http://forum.ubuntu-fr.org/viewtopic.php?pid=3618288|ce topic]] pour trouver la solution ===== Voir aussi ===== * **(en)** [[http://www.nuigroup.com/touchlib/|Site officiel]] * **(fr)** [[http://wiki.nuigroup.com/French_translation_Multitouch_terminology|Le multitouch]] * **(fr)** [[http://planet.ubuntu-fr.org/tag/Multitouch|Construire un périphérique multitouch pour 30€ environ]] ---- //Contributeurs principaux : [[utilisateurs:samuncle]].// //Basé sur [[http://wiki.nuigroup.com/Installing_Touchlib_on_Ubuntu|Installing Touchlib on Ubuntu]]// ----