Menu

C# Posts

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

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 : 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.
  6. Kinect 2 et Unity

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.

Bien sûr, je vais continuer a proposer des sujets divers sur les NUI en fonction de mes découvertes numérique, donc sûrement des articles sur la VR, Hololens ou Unity.

Read More

Générer du ICalendar

Si il y a bien une chose que je ne connaissais pas c’est bien le format de génération pour les « ICalendar ». En effet, quand on veut envoyer un mail pour générer un rendez-vous, il faut envoyer une partie dans un format bien particulier pour les clients mails de type Outlook ou Gmail. Ce format (ics) permet de générer le rendez-vous et traiter les retours.

Il existe donc un formatage standard pour faire cette opération, mais souvent les éditeurs tiers y ajoutent leurs propres métadonnées afin d’enrichir l’information et coller au mieux à leur outil. Aujourd’hui je vous propose une classe C# (Framework .Net) pour générer des rendez-vous à destination d’Outlook.

Cette classe est un socle et peut-être enrichis, elle ne gère pas non plus tous les cas de figure, mais permet de créer de façon simple et rapide avec un maximum d’option, des rendez-vous.

Read More

CodePlex : Black Minecraft Editor

Voilà je me décide à lancer publier mon petit projet CodePlex « Black Minecraft Editor ». Rien d’exceptionnel là non plus, c’est un outil qui permet de modifier les sauvegardes du jeu Minecraft, cela modifie autant les sauvegarde locale que serveur. Vous pouvez la télécharger à cette adresse :

https://blackminecrafteditor.codeplex.com/

Le lien a été rajouté à la liste de mes projets Codeplex sur le bandeau droit du blog.

N’hésitez pas à me faire vos retours car l’éditeur est en BETA !

Sans titre

Read More

CodePlex : Black NBT

Bonjour à tous,

Un petit billet pour le lancement de mon nouveau projet CodePlex « Black NBT ». Rien d’exceptionnel, juste une petite librairie et un client de test pour gérer les fichiers au format NBT (Named Binay Tag) dans sa spécification 19133. Vous pouvez la télécharger à cette adresse :

https://blacknbt.codeplex.com/

Le lien a été rajouté à la liste de mes projets Codeplex sur le bandeau droit du blog.

N’hésitez pas à me faire vos retours sur la librairie (le client est juste là pour décorer), je serais ravi d’avoir vos feedbacks.

BlackNBT

Read More