title: how to crop the detected face in opencv and save roi as image in opencv python
body: <p>Im using opencv in python and this is my code in detecting the face and saving the face..but it does not save the roi(the face detected),i've been having trouble  doing this.please help me how to fix this.</p>
  
  <pre><code>   TRAINSET = "data/lbpcascades/lbpcascade_frontalface.xml"
     DOWNSCALE = 4
  
     cam = cv2.VideoCapture(0) #capture a video
  
     cv2.namedWindow("preview")
     classifier = cv2.CascadeClassifier(TRAINSET) 
  
     Compare_images=[]
     for file in os.listdir("images"):
         if file.endswith(".jpg"):
            Compare_images.append(file)
  while True: # try to get the first frame
      _, frame = cam.read() 
  
  key = cv2.waitKey(20)
  if(key==32):
  
      print "Name of Image:"
  
      n= raw_input()
  
      value=len(Compare_images)
      cv2.imwrite('images/image'+str(n)+'.jpg', frame)
      saved_image=cv2.imread("images/image"+str(n)+".jpg")
      minisize = (saved_image.shape[1]/DOWNSCALE,saved_image.shape[0]/DOWNSCALE)
      miniframe = cv2.resize(saved_image, minisize)
      faces = classifier.detectMultiScale(miniframe)
      for f in faces:
          x, y, w, h = [ v*DOWNSCALE for v in f ]     
          print x 
          print y,w,h      
  
          x0,y0=int(x),int(y)
          x1,y1=int(x+w),int(y+h)
          print x0,y0,y1,y0
  
          image = cv2.rectangle(saved_image, (x0,y0), (x1,y1), (0,0,255),2)
  
          roi=saved_image[y0:y1,x1:x0]#crop 
          cv2.imwrite('roi.jpg',roi)
          cv2.imshow("adsa", saved_image) 
  
  
  cv2.putText(frame, "Press ESC to close.", (5, 25),
              cv2.FONT_HERSHEY_SIMPLEX, 1.0, (255,255,255))
  cv2.imshow("preview", frame)
  </code></pre>