title: Skin Detection and Background Subtraction in Python cv2
body: <p>For the past couple of days, I've been working on a gesture recognition program using OpenCV Python.  Ideally, I'd like to have a system like the one shown in <a href="https://youtu.be/xML2S6bvMwI?list=PLtszSfeV_ZqjcPArVX1PU68Vv4qRBVVnw" rel="noreferrer" title="this video">this video</a>.  I've read through the algorithm described in the video description, and I understand just about all of it.  However, I have been having trouble replicating his success in background subtraction and skin tone detection.  All of my attempts have ended up very noisy and/or very lighting-dependent, both of which render my code useless for the time being.</p>
  
  <p>I have tried the following:</p>
  
  <ul>
  <li>BackgroundSubtractorMOG and BackgroundSubtractorMOG2 applied to color frame</li>
  <li>Split image into Y Cr Cb, applied MOG or MOG2 to each before recombining into a single image</li>
  <li>Filter range to remove colors that aren't skin tones (applied to color image)</li>
  </ul>
  
  <p>So far, I have not had success.  I have been able to pick out some contours, but these have been noisy and unstable (come and go depending on the frame).  Is their another approach I should be using?</p>