from PIL import ImageDraw def show_bboxes(img, bounding_boxes, facial_landmarks=[]): """Draw bounding boxes and facial landmarks. Arguments: img: an instance of PIL.Image. bounding_boxes: a float numpy array of shape [n, 5]. facial_landmarks: a float numpy array of shape [n, 10]. Returns: an instance of PIL.Image. """ img_copy = img.copy() draw = ImageDraw.Draw(img_copy) for b in bounding_boxes: draw.rectangle([ (b[0], b[1]), (b[2], b[3]) ], outline='white') for p in facial_landmarks: for i in range(5): draw.ellipse([ (p[i] - 1.0, p[i + 5] - 1.0), (p[i] + 1.0, p[i + 5] + 1.0) ], outline='blue') return img_copy