2012-10-23 13 views
5

Co chcę zrobić, to narysować i ożywić szkielet (tak jak możemy zrobić ze strumieniem czujnika) z zapisanych danych (więc mam wartości x, y i z każdego połączenia) .kinect C# narysuj i przenieś szkielet z zapisanych danych

Szukałem dużo, ale nie mogę znaleźć niczego, co mogłoby mi pomóc.

Mogę konwertować dane do kolekcji połączeń, kojarzyć je ze szkieletem, ale potem? Nie wiem, jak zmapować szkielet do colorImagePoint.

Może muszę utworzyć depthImageFrame?

Dziękuję bardzo!

Odpowiedz

4

Zajrzyj do Przybornika Kinect. Oferuje on funkcję nagrywania i odtwarzania, która może być zgodna z Twoimi potrzebami, lub zapewnia punkt początkowy: http://kinecttoolbox.codeplex.com/

Jeśli masz własną rolę, nie jestem pewien, dlaczego musiałbyś odwzorować ją na kolor lub ramę głębokości, chyba że brakuje mi wymogu tego, co robisz.

Zobacz przykład SkeletonBasics w przykładach zestawu Microsoft Kinect dla Windows SDK Toolkit. Pokaże, że musisz ręcznie narysować szkielet na podstawie danych szkieletu. Stamtąd można spojrzeć w następujący sposób dla ciebie aplikacji:

  1. Skonfiguruj swój szkielet śledzenia zwrotnego
  2. Na każdy szkielet ramy, lub mniej (jeśli nie trzeba tak wiele) zapisać wspólnych stanowisk
  3. zapisać także timestamp 0 oparte
  4. zapisać dane w formacie wyboru przy całkowitym

podczas odtwarzania czytać w nagranych danych i uruchomić stoper. Kiedy licznik trafi kolejny zapisany znacznik czasu szkieletu, zaktualizuj narysowany szkielet na ekranie (korzystając z przykładowej aplikacji SkeletonBasics).

+0

dziękuję! wydaje się być tym, czego potrzebuję :) – Ginox

+0

Przyjęte odpowiedzi są zawsze mile widziane. =) –

+0

Dobra odpowiedź, mechanizm sugerowany przez @Evil Closet Monkey jest mechanizmem używanym przez Kinect.Toolbox. W przyborniku kinect można pobrać kod źródłowy i sprawdzić, w jaki sposób został zaimplementowany. W kilka dni nauki poczujesz potrzebę ulepszenia zestawu narzędzi Kinect :) – Ewerton