import cv2
from PIL import Image, ImageDraw
def detectFaces(image_name):
img = cv2.imread(image_name)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
faces = face_cascade.detectMultiScale(gray, 1.2, 5)
result = []
for (x,y,width,height) in faces:
result.append((x,y,x+width,y+height))
return result
def drawFaces(image_name,output):
faces = detectFaces(image_name)
im = Image.open(image_name)
if faces:
draw = ImageDraw.Draw(im)
for f in faces:
draw.rectangle(f,outline = (255,0,255))
im.save(output,'JPEG',quality = 100)
return "detected face"
else:
return "no face"
if __name__ == '__main__':
label = drawFaces('144.jpg','output.jpg')
print(label)
opencv,通过配置文件 haarcascade_frontalface_default.xml,找到特征点。
drawfaces函数输出的output.jpg就是处理好的图片