2017-02-22 2 views
2

Je tente actuellement d'utiliser plusieurs Kinect v2.0 dans le cadre de ma thèse. J'ai regardé autour de la question et je suis conscient du problème avec la bande passante usb donc les deux Kinect que j'utilise actuellement sont sur différents contrôleurs USB. Le problème que j'ai est que dans le cadre de la fonction GetDefault() (2.0 SDK), comme son nom l'indique, il obtient simplement le Kinect par défaut. Y a-t-il un moyen de déterminer quel Kinect «obtient» ou de déterminer quel Kinect est le «défaut»? (Je sais que le SDK n'en autorise qu'un, mais j'explore l'idée d'avoir une application distincte pour chaque Kinect).Utilisation de plusieurs Kinect v2 sur un PC

Merci d'avance pour toute contribution.

Répondre

1

Utilisation du Microsoft SDK vous n'avez pas la possibilité d'utiliser plusieurs Kinect2 sur un PC:

Acquisition capteur et démarrage
Kinect pour Windows prend en charge un capteur, qui est appelé le capteur par défaut. La classe KinectSensor a des membres statiques pour aider à configurer le capteur Kinect et accéder aux données du capteur.

Kinect API Overview

Nous avons essayé des choses semblables, mais à la fin nous nous sommes installés avec un client/serveur Solution où KINECTS supplémentaires sont connectés aux PC clients. Mais, même ici, vous devez faire attention si ces Kinect sont utilisés dans la même pièce - les capteurs pourraient capter la lumière des autres émetteurs! (Voir ici par exemple: Interference between multiple Kinects).

Une autre chose que vous devez garder à l'esprit lorsque vous travaillez sur un client/serveur solution - le Kinect ne gère pas très bien les connexions Bureau à distance:

Remote Desktop
Si vous accédez à l'aide de Kinect Bureau à distance, vous devez modifier les paramètres audio du bureau à distance pour «jouer sur l'ordinateur distant». Si vous ne le faites pas, le moteur d'exécution ne pourra pas voir le périphérique audio et peut interdire la connexion au Kinect. (2.0 SDK and Developer Known Issues)

Une autre façon que vous pouvez choisir, est d'utiliser OpenKinect, qui est censé prendre en charge plusieurs caméras (here, here, here, ...) mais tout cela ne semble pas si facile à réaliser aussi. En outre, lors de nos tests, nous avons remarqué que les valeurs de profondeur sont différentes lorsque vous utilisez le Microsoft SDK officiel ou la bibliothèque open source, car il y a beaucoup de magie noire dans le SDK officiel.

0

Avez-vous envisagé d'exécuter une machine virtuelle en parallèle sur votre machine? Il suffit à la machine virtuelle d'ignorer le port USB sur lequel l'un des kinect est activé, de sorte que la machine virtuelle soit obligée d'utiliser l'autre.

Cela peut nécessiter beaucoup plus de puissance de traitement que de simplement les brancher, mais cela devrait fonctionner, surtout si vous essayez de les utiliser pour deux programmes différents.

0

Les Kinect pour Windows sont uniquement pris en charge pour les machines virtuelles (à l'exception de kinect pour xbox one et kinect pour 360 avec adaptateurs)