J'essaie de commencer avec Kinect, et il a une caméra de détection de profondeur, mais je n'ai vu aucune indication sur la mesure de la largeur/hauteur/longueur. Est-ce qu'il s'agit de déterminer la distance entre un objet et la caméra (capteur de profondeur) et à cette distance le champ de vision du Kinect, puis de calculer le nombre de pixels que prend votre objet? Je voudrais être en mesure de faire un maillage ou quelque chose à partir d'un nuage de points et j'ai des problèmes pour savoir par où commencer et comment obtenir des mesures de largeur/hauteur appropriées pour les objets.Mesure dans Kinect
Répondre
Ceci est une tâche plutôt complexe et ne peut pas être résolue avec quelques paragraphes ici sur Stackoverflow. La raison en est que c'est beaucoup de connaissances qui s'appuie sur d'autres connaissances. Je voudrais commencer par lire sur Linear Algebra en utilisant par exemple l'excellent Rorres, et al. La création du maillage à partir du nuage de points est une tâche complexe et il n'y a pas d'algorithme de facto utilisé aujourd'hui.
L'approche la plus populaire semble être de créer d'abord un Truncated Signed Distance Function (TSDF) discrétisé puis d'utiliser par exemple. Marching Cubes pour obtenir un maillage. Un autre algorithme est le Delaunay triangulation.
Il existe également une implémentation C# fournie par le projet s-hull.
Dans le livre Commencer à programmer Kinect avec le SDK Microsoft Kinect par Jarrett Webb, James Ashley vous avez dans le chapitre 3 un échantillon de la façon de calculer la largeur et de la hauteur et de la distance:
Le code est disponible en téléchargement sur apress.com
Je suis conscient que cela a été demandé il y a un certain temps, mais pour ce qu'il vaut la peine il ya un article sur channel9.msdn qui montre une méthode plus simple pour calculer la taille de l'utilisateur. J'imagine que vous pourriez utiliser une technique similaire avec HipLeft
, HipCenter
, et HipRight
pour estimer la largeur.
Si vous suivez le project information URL depuis le lien, il contient des informations plus détaillées.
- 1. objet kinect mesure
- 2. MapFromSkeletonPoint obsolète dans Kinect
- 3. Kinect Audio avec Kinect SDK et C++
- 4. Peinture Kinect C#, WPF, SDK Kinect
- 5. Utilisation de kinect sdk sans caméra kinect
- 6. Kinect RGBDemo v0.6.1 dans QTcreator
- 7. Je veux être en mesure d'envoyer des données d'un kinect à une application Android
- 8. Utiliser kinect sdk beta 1.0 avec kinect pour windows
- 9. MFC & Kinect: tracer une ligne sur l'image de Kinect
- 10. Plusieurs Kinect utilisant Kinect pour Windows SDK 1.5
- 11. Kinect Handtracking XNA
- 12. Kinect de l'écran vert
- 13. unity & kinect, sauver l'animation
- 14. Comment zoomer Caméra Kinect?
- 15. Kinect SDK 1.0 namespaces
- 16. Kinect Couleur Frame Form
- 17. Aucune kinect prête trouvée?
- 18. Kinect Hand Gestures
- 19. Reconnaissance de formes Kinect
- 20. Kinect et OpenNI
- 21. Enregistrement audio avec Kinect
- 22. Kinect + Processing + JFrame java.lang.OutOfMemoryError
- 23. Microsoft Kinect (pour Windows)
- 24. Kinect reconnaissance de geste
- 25. Reconnaître deux squelettes Kinect
- 26. Squelette dynamique utilisant Kinect
- 27. Threading avec le Kinect
- 28. Kinect Couleur du corps
- 29. CS0143: pour Kinect
- 30. Conception de l'interface d'application Kinect dans Silverlight
avez le même problème que vous ... avez-vous trouvé une solution? Existe-t-il une formule ou quelque chose à mesurer ... – Killercode
Je ne sais pas pourquoi personne d'autre ne l'a mentionné, mais les données de profondeur Kinect peuvent être traitées dans un ensemble de SkeletonPoints. Ces points sont dans l'espace du monde réel, ce qui signifie que, disons, une valeur z de 0,5 correspond à un point situé à un demi-mètre du capteur. Puisque vous pouvez obtenir les SkeletonPoints assez facilement, il devient alors nécessaire de déterminer quels points appartiennent à l'objet que vous voulez, et d'utiliser ceux-ci pour le mesurer. –