title: How to use openCV and HAAR Cascades to blur faces?
body: <p>I would like to know is there is a way to blur the faces that have been automatically identify by the haarcascade face classifier.</p>
  
  <p>using the code below, I'm able to detect the faces, crop the image around this face or draw a rectangle on it.</p>
  
  <pre><code>image = cv2.imread(imagepath)
  
  # Specify the trained cascade classifier
  face_cascade_name = "./haarcascade_frontalface_alt.xml"
  
  # Create a cascade classifier
  face_cascade = cv2.CascadeClassifier()
  
  # Load the specified classifier
  face_cascade.load(face_cascade_name)
  
  #Preprocess the image
  grayimg = cv2.cvtColor(image, cv2.cv.CV_BGR2GRAY)
  grayimg = cv2.equalizeHist(grayimg)
  
  #Run the classifiers
  faces = face_cascade.detectMultiScale(grayimg, 1.1, 2, 0|cv2.cv.CV_HAAR_SCALE_IMAGE, (30, 30))
  
  print "Faces detected"
  
  if len(faces) != 0:            # If there are faces in the images
      for f in faces:         # For each face in the image
  
          # Get the origin co-ordinates and the length and width till where the face extends
          x, y, w, h = [ v for v in f ]
  
          # Draw rectangles around all the faces
          cv2.rectangle(image, (x,y), (x+w,y+h), (255,255,255))
          sub_face = image[y:y+h, x:x+w]
          for i in xrange(1,31,2):
              cv2.blur(sub_face, (i,i))
          face_file_name = "./face_" + str(y) + ".jpg"
          cv2.imwrite(face_file_name, sub_face)
  </code></pre>
  
  <p>But I would like to blur the face of the people so they can't be recognized.</p>
  
  <p>Do you have an idea on how to do that?</p>
  
  <p>Thanks for your help</p>
  
  <p>Arnaud  </p>