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.0
The 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...