Menu
Kinect 2 : Détection du squelette (Part 1)

Kinect 2 : Détection du squelette (Part 1)

Dans ce second billet consacré à la détection de squelette avec Kinect 2, nous allons regarder ensemble comment récupérer les informations, ouvrir les flux et reconnaître un squelette qui interagi avec le capteur. Je vous rappelle que le sommaire des articles se trouve par ici.

Si vous n’avez pas installer le SDK c’est le moment de le faire en le téléchargeant à cette adresse, il vous faudra par contre Visual Studio 2013 pour pouvoir l’utiliser.

A savoir pour commencer

Pour ceux qui ont déjà barouder sur le SDK de Kinect 1, il y a une chose qui a vraiment changé. Avant, quand une application demandais de l’information au capteur elle le monopolisait et seul cette application pouvais utiliser Kinect, de plus il fallait bien fermer l’accès au capteur sous peine que la prochaine application peine à ouvrir les flux. Maintenant, pour Kinect 2, la logique est un peu différente car il y a maintenant un service résident qui est le seul à pouvoir récupérer les données du capteur.

En d’autre terme, votre application ne va plus demander l’accès au capteur, mais consommer les flux mis à disposition par le service. Ce principe permet alors d’avoir autant d’application que l’on souhaite qui s’exécute simultanément. Le service a donc pour rôle de capter les données et de les distribuer aux applications qui se sont enregistré à lui. Ce qui a aussi pour effet de ne plus vraiment gérer l’ouverture et la fermeture de Kinect.

Voici maintenant comment accéder à ces flux et en extraire les informations du squelette.

Première étape : Connexion aux flux

Dans un premier temps, il faut que votre application se connecte au service Kinect et préciser les flux que vous voulez suivre (Squelette, vidéo, son, etc.). Pour se faire nous devons récupérer une instance du capteur afin d’interagir avec lui, cela se fait avec le code ci-dessous :

KinectSensor sensor = KinectSensor.GetDefault();

Read More
Binding et UITableViewCell (MvxTableViewCell)

Binding et UITableViewCell (MvxTableViewCell)

J’ai récemment eu à traiter un cas avec Xamarin iOS et MvvmCross en utilisant les Tables, je n’arrivais pas à gérer le binding entre les cellules et les éléments de ma source, j’ai fini par réussir à faire ceci avec MvxTableViewCell, donc voici comment j’ai procédé. Tout d’abord je vais décrire le cas en question.

En XAML :

Imaginons que nous ayons un ItemsControl ayant dans son ItemSource une liste d’instance d’un ViewModel. Le moteur XAML va faire en sorte dans l’arbre visuel que chaque instance du DataModel associé à un élément, reçoivent en DataContext l’élément lui-même. Ce qui permet dans le DataModel de faire du Binding directement à partir de l’élément, ce qui est pratique car on peut affecter les propriétés de notre ViewModel sur le rendu du DataModel.

Xamarin iOS et MvvmCross

Maintenant j’ai le même cas sur iOS avec Xamarin. Je crée donc un MvxTableViewController, je crée la table et surcharge donc le GetCell pour traiter mes cellules. Cependant, quand je veux créer un binding entre les éléments de ma cellule et mon élément dans la liste cela se complique.

Read More

Black Camera Control

Le Black Camera Control sert  à afficher un flux d’une webcam en WPF, il est fournis avec le code source et une petite application de contrôle pour visionner et faire des captures d’écrans.

J’ai eu un besoin simple sur WPF, pouvoir afficher le flux d’une Webcam et pouvoir en faire des captures. Ce besoin simple n’est pourtant pas si facile en réalité. N’ayant pas le temps de me plonger dans les APIs profondes de WPF, je me suis donc tourner vers notre ami commun Google. Après une brève recherche, je suis tombé sur bien des sites avec bien sûr les 2 ou 3 mêmes bouts de code ou projet CodePlex qui reviennent constamment. J’ai tout testé et entre ceux qui plantent et ceux qui ne font pas exactement ce que je veux, je n’ai pas trouvé mon bonheur.

J’ai donc décidé de le faire moi-même en repartant de ce que j’ai trouvé précédemment. L’alternative la plus proche pour moi était de faire un contrôle qui se fonde sur AForge, un framework de gestion d’image disponible avec les packages NuGets. J’ai donc fait mon petit contrôle et au vu de ce que j’ai lu sur Internet, je ne suis pas le seul a vouloir un contrôle dans le genre.

J’ai donc publié ce contrôle sur CodePlex à cette adresse :

https://blackcameracapture.codeplex.com/

Read More
Kinect 2 : Outils du SDK

Kinect 2 : Outils du SDK

Dans ce second billet consacré au Kinect 2 SDK, nous allons regarder ensemble les outils mis à notre disposition. Je vous rappelle que le sommaire des articles se trouve par ici.

Si vous n’avez pas installer le SDK c’est le moment de le faire en le téléchargeant à cette adresse, il vous faudra par contre Visual Studio 2013 pour pouvoir l’utiliser.

Qu’est-ce qu’il y a dans ce SDK ?

Une fois le Kinect 2 SDK installé, nous avons accès a plusieurs choses :

  • SDK Browser
  • Kinect Studio
  • Visual Gesture Builder

Ces éléments vont nous être très utiles pour nos développements.

Read More
Kinect 2 : Présentation et ressources

Kinect 2 : Présentation et ressources

Bienvenue sur ma série d’article pour Kinect 2. Vous pouvez trouver le sommaire des billets concernant Kinect 2 en cliquant ici.

Je vais donc vous présenter un peu le périphérique, mais avant toute chose comment se le procurer. Il faut savoir que si vous souhaitez développer sur PC avec une Kinect 2, vous pouvez le faire avec la Kinect 2 de votre XBox One, contrairement à la première Kinect for Windows, la Kinect 2 XBox One est la même que la Kinect 2 for Windows, vous pouvez donc tout à faire recycler celle-ci.

Où et comment ?

Après comment la connecter à votre PC me direz-vous ? Et bien achetant un adaptateur, celui-ci vous permettra de la brancher sur le port USB 3 de votre PC. Pour acheter la Kinect 2 toute seule, vous pouvez la trouver dans tous les magasins qui vendent des consoles, elle est depuis peu vendu à part de la XBox One.

  • Kinect 2, comptez 150 € pour le prix de base sur  le Microsoft Store, vers les 130 € sur Amazon.
  • Adaptateur pour PC, comptez 50 € pour le prix de base sur le Microsoft Store, et au même prix sur Amazon.

Read More
Kinect 2 : A venir sur le blog

Kinect 2 : A venir sur le blog

Depuis la sortie officielle du Kinect 2 SDK, je n’avais pas encore fait de billet sur le sujet. Je répare donc cette injustice en vous proposant une série d’article sur le sujet. Mon but est de vous présenter un certain nombre d’élément de ce SDK et de la Kinect 2. Voici donc le plan :

  1. Présentation de Kinect 2, ses possibilités, ses spécifications.
  2. Présentation des outils du SDK, qu’est-ce qu’il contient et a quoi ils servent.
  3. Détection du squelette avec exemple de code.
    1. Partie 1
    2. Partie 2
  4. Détection du visage avec exemple de code.
  5. Détection vocale et positionnement spatiale de la voix avec exemple de code.

Cette suite de 5 articles devrait donc présenter un bon aperçu de Kinect 2 et de son SDK. Je mettrai à jour ce billet afin de mettre les liens vers les différents billets, cela fera un bon sommaire. N’hésitez pas à me poser des questions sur le sujet, je serais heureux de vous aider.

Je serais aussi bientôt à la Maker Faire de Saint Malo ou je vais faire une peu d’Arduino, je pense vous faire quelques billets sur Arduino. Comme je commence sur le sujet, cela va prendre un peu de temps, mais surtout vue qu’il y a une partie hardware et montage, je réfléchis au format avec lequel je vais rédiger ces billets.

Pour finir, après cette série d’article, je ferais une série sur le Tobii Eye X et l’eye tracking en général, cela complétera les éléments sur le développement NUI.

Read More