title: How to count the number of faces detected in live video by openCV using python?
body: <p>I need to count the number of faces in a video taken from webcam. For example, if I am standing in front of the camera then count=1, now if any other person is detected then count=2, if another person is detected then the count should be 3.</p>
  
  <p>I am using frontal_face_haarcascade.xml by opencv in python. I can detect faces in frame and then increase the count, but what's happening is that the count is increasing as the number of frames. So, even if 1 person was detected standing for 10 sec, it shows count as some '67'. </p>
  
  <p>How can I overcome this problem?</p>
  
  <p>This is the code:</p>
  
  <pre><code>import cv2
  
  import sys
  
  cascPath = sys.argv[1]
  
  faceCascade = cv2.CascadeClassifier(cascPath)
  
  
  video_capture = cv2.VideoCapture(0)
  ret, frame = video_capture.read()
  
  gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  
  faces = faceCascade.detectMultiScale(
      gray,
      scaleFactor=1.1,
      minNeighbors=5,
      minSize=(30, 30)
  )
  
  # Draw a rectangle around the faces
  for (x, y, w, h) in faces:
      cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
  
  
  if cv2.waitKey(1) &amp; 0xFF == ord('q'):
      break
  
  # Display the resulting frame
  cv2.imshow('Video', frame)
  
  
  video_capture.release()
  
  cv2.destroyAllWindows()
  </code></pre>