【发布时间】:2021-09-08 06:23:52
【问题描述】:
导入人脸识别 从 PIL 导入 Image、ImageDraw
burak_image= face_recognition.load_image_file("C:/Users/EMRE/Desktop/codfacerecog-master/codfacerecog-master/recognize/friends2/burak1.jpg") burak_face_encoding = face_recognition.face_encodings(burak_image)
cansu_image= face_recognition.load_image_file("C:/Users/EMRE/Desktop/codfacerecog-master/codfacerecog-master/recognize/friends2/cansu1.jpg") cansu_face_encoding = face_recognition.face_encodings(cansu_image)
elif_image= face_recognition.load_image_file("C:/Users/EMRE/Desktop/codfacerecog-master/codfacerecog-master/recognize/friends2/elif2.jpg") elif_face_encoding = face_recognition.face_encodings(elif_image)
mert_image= face_recognition.load_image_file("C:/Users/EMRE/Desktop/codfacerecog-master/codfacerecog-master/recognize/friends2/mert2.jpg") mert_face_encoding = face_recognition.face_encodings(mert_image)
merve_image= face_recognition.load_image_file("C:/Users/EMRE/Desktop/codfacerecog-master/codfacerecog-master/recognize/friends2/merve1.jpg") merve_face_encoding = face_recognition.face_encodings(merve_image)
known_face_encodings = [ burak_face_encoding, cansu_face_encoding, elif_face_encoding, mert_face_encoding, merve_face_encoding
] known_face_names = [ “布拉克”, "坎苏", “ELIF”, “默特”, “梅尔维”
]
image = face_recognition.load_image_file("C:/Users/EMRE/Desktop/codfacerecog-master/codfacerecog-master/recognize/friends2/friends2.jpg")
face_locations = face_recognition.face_locations(图像) face_encodings = face_recognition.face_encodings(image, face_locations)
pil_image = Image.fromarray(image) draw = ImageDraw.Draw(pil_image)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings): 名称 = “未知”
for i,f in enumerate(known_face_encodings):
matches = face_recognition.compare_faces(f, face_encoding)
if True in matches:
name = known_face_names[i]
break
if True in matches:
first_match_index = matches.index(True)
name = known_face_names[first_match_index]
draw.rectangle(((left, top), (right, bottom)), outline=(0, 0, 255))
text_width, text_height = draw.textsize(name)
draw.rectangle(((left, bottom - text_height - 10), (right, bottom)), fill=(48, 63, 159), outline=(48, 63, 159))
draw.text((left + 6, bottom - text_height - 5), name, fill=(255, 255, 255, 0))
删除画
pil_image.show() pil_image pil_image.save("image_with_boxes.jpg")
我的问题是它在识别的脸上只显示一个人的名字。它只显示第一个 known_face_names("BURAK") 在所有识别的脸上只显示一个人的名字;已识别的同名人员的标签。
【问题讨论】: