old_contents: import sensor, time, image
  
  # Reset sensor
  sensor.reset()
  
  # Sensor settings
  sensor.set_contrast(1)
  sensor.set_gainceiling(16)
  sensor.set_framesize(sensor.QCIF)
  sensor.set_pixformat(sensor.GRAYSCALE)
  
  # Load Haar Cascade
  # By default this will use all stages, lower satges is faster but less accurate.
  face_cascade = image.HaarCascade("frontalface", stages=16)
  print(face_cascade)
  
  # FPS clock
  clock = time.clock()
  while (True):
      clock.tick()
  
      # Capture snapshot
      img = sensor.snapshot()
  
      # Find objects.
      # Note: Lower scale factor scales-down the img more and detects smaller objects.
      # Higher threshold results in a higher detection rate, with more false positives.
      objects = img.find_features(face_cascade, threshold=0.65, scale=1.65)
  
      # Draw objects
      for roi in objects:
          #img.histeq()
          eyes = img.find_eyes(roi)
          img.draw_cross(eyes[0], eyes[1])
          img.draw_cross(eyes[2], eyes[3])
          img.draw_rectangle(roi)
  
      if (len(objects)):
          # Add a small delay to see the drawing on the FB
          time.sleep(100)
  
      # Print FPS.
      # Note: Actual FPS is higher, streaming the FB makes it slower.
      print(clock.fps())
  
new_contents: import sensor, time, image
  
  # Reset sensor
  sensor.reset()
  
  # Sensor settings
  sensor.set_contrast(1)
  sensor.set_gainceiling(16)
  sensor.set_framesize(sensor.QVGA)
  sensor.set_pixformat(sensor.GRAYSCALE)
  
  # Load Haar Cascade
  # By default this will use all stages, lower satges is faster but less accurate.
  face_cascade = image.HaarCascade("frontalface", stages=25)
  eyes_cascade = image.HaarCascade("eye", stages=24)
  print(face_cascade, eyes_cascade)
  
  # FPS clock
  clock = time.clock()
  
  while (True):
      clock.tick()
  
      # Capture snapshot
      img = sensor.snapshot()
      # Find a face !
      # Note: Lower scale factor scales-down the image more and detects smaller objects.
      # Higher threshold results in a higher detection rate, with more false positives.
      objects = img.find_features(face_cascade, threshold=0.5, scale=1.5)
  
      # Draw faces
      for face in objects:
          img.draw_rectangle(face)
          # Now find eyes within each face.
          # Note: Use a higher threshold here (more detections) and lower scale (to find small objects)
          eyes = img.find_features(eyes_cascade, threshold=0.5, scale=1.25, roi=face)
          for e in eyes:
              e = [face[0]+e[0], face[1]+e[1], e[2], e[3]] # Add face offset
              iris = img.find_eyes(e)
              img.draw_rectangle(e)
              img.draw_cross(iris[0], iris[1])
  
      # Print FPS.
      # Note: Actual FPS is higher, streaming the FB makes it slower.
      print(clock.fps())
  
subject: Update eye detection Python script.