Paper explaining the algorithm is here: http://link.springer.com/article/10.1...
OpenCV/EmguCV
Real time Hand and fingers tracking
Simple static gesture recognition
using webcam only, it works on kinect too but I am lazy to record another video
Summary of algorithm/method:
1)background subtraction using YCrCb color channel, but process each channel separately and combine them together to use as a mask
2)skin color extraction using YCrCb color channel
3)contour extraction, remove noises using size threshold, also uses erosion and dilation, also uses gaussian smoothing
4)use Haar-cascade to detect the face region, then remove it
5)find convex hull and convexity defects, also find the K-curvature of convexity defects points, then determine it as fingertips if fullfill certain assumption
6)find the max inscribed circle and min enclosing circle
6)from those convexity defects that fullfill fingertips assumption, find the largest one, it is the thumb, then find the vector to determine whether it is left or right hand
7)then recognize the hand gesture based on simple assumption (too much to list here)