Tracking hand gestures in real time
Hand gestures are analyzed by the HandGestureRecognition class, especially by its recognize method. This class starts off with a few parameter initializations, which will be explained and used later:
class HandGestureRecognition:
def __init__(self):
# maximum depth deviation for a pixel to be considered # within range
self.abs_depth_dev = 14
# cut-off angle (deg): everything below this is a convexity
# point that belongs to two extended fingers
self.thresh_deg = 80.0The recognize method is where the real magic takes place. This method handles the entire process flow, from the raw grayscale image all the way to a recognized hand gesture. It implements the following procedure:
- It extracts the user's hand region by analyzing the depth map (
img_gray) and returning a hand region mask (segment):def recognize(self, img_gray): segment = self._segment_arm(img_gray) - It performs contour analysis on the hand region...