红眼效果通常是由于闪光灯照射到人的眼睛时,光线直接照射到眼睛的血管上造成的。要去除图像中的红眼效果,可以使用Pillow库中的ImageDraw模块来实现。以下是一个简单的示例代码:
from PIL import Image, ImageDraw
def remove_red_eye(image_path, eye_coords):
image = Image.open(image_path)
draw = ImageDraw.Draw(image)
for eye_coord in eye_coords:
x, y = eye_coord
draw.ellipse((x-10, y-10, x+10, y+10), fill='white')
image.save('output_image.jpg')
remove_red_eye('input_image.jpg', [(100, 200), (300, 400)])
在上面的代码中,我们首先打开要处理的图像,然后使用ImageDraw模块中的ellipse方法在指定的眼睛坐标位置绘制一个白色的椭圆来覆盖红眼部分。最后保存处理后的图像为output_image.jpg。
请注意,eye_coords参数需要根据具体图像中的红眼位置提供,可以通过图像处理软件或者人工标记来获取。