Hand waving Kinect

I am making a kinect application using the Kinect SDK .

Result I want him to be able to detect a manual swing within 5 seconds. Something to do if anyone knows how to do this?

I am doing this in a WPF application. I would like to have an example. I am new to Kinect.

+4
source share
3 answers

You can write a simple algorithm to get a salary gesture. For your example, you need a time limit

public static int timeLimit = 5000; 

Now think about the wave. It has 3 states

1) A neutral posture when your hand is in the same position along the X axis as your elbow.

2) When the arm is to the right of the elbow

3) When the arm is to the left of the elbow

Remember that you start from state 1. To get 2 to 3, you need to go from 1 in the middle. So, you see that there is a combination of 1 - 2 - 1 - 3 - 1 - the first wave

The resistance you can get from the position of the joint

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

this is simple math.

About a second. Just select (for example) a SkeletonFrame timestamp and compare

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

startTimestamp is a timestamp when your hand is able to start.

Also add a flag that indicates that the hand is on a good track.

I hope this helps

+4
source

Check out the Kinect Toolbox @ http://kinecttoolbox.codeplex.com/ project. It has a Swipe gesture recognition implementation.

+4
source

I recommend Channel 9 Kinect for Windows Quickstarts if you need to learn the basics.

Go back to the waving gesture, use the math as the polar coordinates to check the distance between your hand and let it tell the middle shoulder and calculate the angle.

This way you can check the previous values. Is this clear or not quite?

+1
source

Source: https://habr.com/ru/post/1404042/


All Articles