def scaling_factor(rect, size):
    """ Calculate the scaling factor for the current image to be
      resized to the new dimensions

  :param rect: (x, y, w, h) bounding rectangle of the face
  :param size: (width, height) are the desired dimensions
  :returns: floating point scaling factor
  """
    new_height, new_width = size
    rect_h, rect_w = rect[2:]
    height_ratio = rect_h / new_height
    width_ratio = rect_w / new_width
    scale = 1
    if height_ratio > width_ratio:
        new_recth = 0.8 * new_height
        scale = new_recth / rect_h
    else:
        new_rectw = 0.8 * new_width
        scale = new_rectw / rect_w
    return scale
