Ayant eu la chance de tester il y a quelques mois la programmation sur un Kinect, je vais autre travers de quelques billets vous partager ce que j’ai appris.
Nous verrons donc comment récupérer l’image d’un Kinect, analyser les squelettes que le capteur aura detecté, exécuter des actions suivant les mouvements du joueur, … Pour faciliter la gestion des fenêtre et ne connaissant pas assez l’API Windows, j’ai décidé d’intégrer le Kinect dans des applications Qt (en C++)
Mais avant toutes ces bonnes choses, nous allons voir aujourd’hui comment s’installer son environnement de développement pour développer des applications avec l’API Kinect officiel.
Note importante : Mon patron ayant commandé le Kinect for Windows, cela a eu pour effet que je ne pouvais pas utiliser les API open source… J’ai donc été « contrait » d’utiliser l’API officiel by Microsoft et c’est ce que je vais vous présenter ajourd’hui.
Installation
Voici la marche à suivre pour installer un environnement pour développer des applications Kinect en C++ ou C#.
Visual Studio
Pour commencer, nous allons utiliser l’IDE de Microsoft qui permet un développement plus facile qu’avec un autre IDE. Vous pouvez télécharger la version »Express » qui est une version allégée mais gratuite qui toutefois ne permet pas de faire du développement Qt.
- Visual Studio Express : http://msdn.microsoft.com/fr-fr/express
Le SDK Kinect
Il faut télécharger le SDK fourni avec le Kinect à l’adresse suivante puis l’installer.
Librairie Qt
Nous pouvons télécharger Qt pour pouvoir faire des programmes fenêtré sans passer par l’API Windows. Pour l’utiliser il faut télécharger la librairie prévue pour Visual Studio 2010 ainsi que les »add-in » pour intégrer Qt à Visual.
- Qt pour Visual Studio : http://qt.nokia.com/downloads/windows-cpp-vs2010
- Add-in : http://qt.nokia.com/downloads/visual-studio-add-in
Création d’un projet
Nous allons voir commencer créer à la fois un projet Kinect en C# et un projet avec C++ en utilisant à chaque fois Visual Studio.
Nouveau projet C#
Voici la démarche pour configurer un projet C# afin qu’il utilise le SDK Kinect. Commencez par créer un projet de type »’Application Windows Forms »’.
Ajout d’une référence
Une fois le projet crée, vous allez simplement ajouter la référence du SDK à votre projet. La démarche à suivre est la suivante :
- Cliquez droit sur le menu référence puis choisissez « Ajouter une référence ».
- Dans la nouvelle fenêtre choisissez l’onglet .NET
- Parcourez la liste à la recherche de »’Microsoft.Kinect »’ puis une fois sélectionne validez.
- Vous devriez voir apparaitre la référence dans le menu (cf. ci-contre).
A mettre dans le code source
Il ne vous restera plus qu’à mettre la ligne suivante en haut de votre code source pour activer les composants du SDK.
using Microsoft.Kinect;
Nouveau projet C++
Nous allons suivre les étapes pour créer un nouveau projet C++. Toutefois le but n’étant pas d’utiliser le SDK nous allons faire un projet console simple et nous allons nous attarder uniquement sur la configuration de ce dernier.
Création du projet C++
Commencez donc pas créer un nouveau projet C++ de type console (cf. image ci-contre). L’assistance va vous permettre de choisir la création d’une « Application console » et cochez également la case « Projet vide » dans les options supplémentaires.
Propriétés du projet
Maintenant que le projet est créé il faut ajouter les dossiers »include » et »linker » les librairies. Cliquez droit sur le nom du projet puis choisissez le menu »’Propriétés »’.
Les includes
Rendez-vous dans l’onglet »’C/C++ »’ puis dans la ligne « Autres répertoires Include » vous allez ajouter le dossier suivant qui correspond au dossier »’inc »’ du SDK Kinect.
C:\Program Files\Microsoft SDKs\Kinect\v1.0\inc\
Dans vos programmes vous aurez en général à mettre l’include suivant lorsque vous utiliserez des fonctions Kinect.
#include <NuiApi.h>
Les librairies
Maintenant que vous avez ajouté le dossier de include, choisissez l’onglet »’Éditeur de liens »’ puis mettez dans la ligne « Répertoires de bibliothèques supplémentaires » le chemin ci-dessous.
C:\Program Files\Microsoft SDKs\Kinect\v1.0\lib\x86\
Il ne nous reste plus qu’à »linker » la librairie en nous rendant dans »’Editeur de liens > entrée »’ puis en ajoutant dans la ligne « Dépendances supplémentaires » le .lib suivant :
Kinect10.lib
Après avoir fait toutes ces actions vous aurez un programme prêt à être compilé en utilisant le SDK Kinect !
Bonjour
Je n’ai pas essayé mais je pense que des problèmes de dépendances avec des librairies typiquement Microsoft…
Si tu trouve une solution n’hésite pas à passer par ici 🙂
tchou!
Bonjour,
merci super tuto.
Juste une petit question : est-il possible d’utiliser le kinect SDK avec Qt creator ?
Personnellement c’est un outil que j’adore et je n’ai pas envie d’utiliser celui de microsoft.
J’ai tester d’importer la lib comme tu le mets dans ton exemples, ainsi que les headers a la main (pas très propre mais si non il dit que les liens sont pas correcte :s) mais j’ai plain d’erreur a la compile.