2012-03-29 17 views
4

Ich mache eine Kinect-Anwendung mit Kinect SDK.Kinect Hand winkenden Geste

Das Ergebnis Ich möchte, dass es in der Lage ist, die Hand für 5 Sekunden winken zu identifizieren. Tun Sie etwas, wenn es funktioniert. Wer weiß, wie es geht?

Ich mache in einer WPF-Anwendung. Möchte ein Beispiel haben. Ich bin ziemlich neu in Kinect.

Antwort

4

Sie können eine einfache Algorithm schreiben, um die Lohngeste zu erhalten. Für Ihr Beispiel benötigen Sie ein Zeitlimit

public static int timeLimit = 5000; 

Denken Sie jetzt an Welle. Es hat 3 Zustände

1) Neutrale Pose, wenn Ihre Hand auf der X-Achse an der gleichen Position ist wie Ihr Ellbogen.

2) Wenn die Hand nach rechts von Ellenbogen ist

3) Wenn die Hand nach links von Ellenbogen ist

Denken Sie daran, dass Sie von dem Zustand starten 1. Um 2 bis 3 erhalten Sie gehen müssen mit 1 in der Mitte. So wie Sie sehen können gibt es eine Kombination 1 bis 2 - 1 - 3 - 1 < - erste Welle

Die secuence Sie von Position von Joint bekommen

first.Joints[JointType.HandRigh].Position.X 

`s einfache mathematische.

Über die sek. Nehmen Sie einfach von (zum Beispiel) SkeletonFrame Zeitstempel und vergleichen

if((currentTimestamp - startTimestamp) < MainWindom.timeLimit) 

startTimestamp ist Zeitstempel, wenn Sie Ihre Hand in Position zu starten.

Add auch ein Flag tha zeigt an, dass die die Hand auf einem guten Weg ist

Ich hoffe, es half

1

Ich empfehle Channel 9 Kinect for Windows Quickstarts, wenn Sie die Grundlagen lernen müssen.

Zurück zu der winkenden Geste, verwenden Sie Mathe wie polare Koordinaten, um den Abstand zwischen Ihrer Hand und sagen wir Ihre mittlere Schulter und berechnen Sie den Winkel.

Auf diese Weise können Sie mit vorherigen Werten überprüfen. Ist das klar oder nicht wirklich?