def cry_frame(self, frame_image, faces, index):
# Instantiates a client
tear = Image.open(self.__class__.get_os_path('overlays/tear.png'))
lowest = 0
for face in faces:
for side in ('left', 'right'):
((lcx, lcy), (ex, ey), (rcx, rcy)) = face.get_eye_coords(side)
ew = int(1.25 * math.hypot(rcx - lcx, rcy - lcy))
pasted = tear.resize((ew, ew), Image.BICUBIC).rotate(face.angles.tilt, Image.BICUBIC)
left_y = int(lcy + (index * ew * 1.5) + (ew * .5))
right_y = int(rcy + (index * ew * 1.5) + (ew * .75) )
frame_image.paste(pasted, (int(lcx - ew/2), left_y), pasted)
frame_image.paste(pasted, (int(rcx - ew/2), right_y), pasted)
lowest = max(left_y, right_y)
return lowest
评论列表
文章目录