所需要的库
face_recognition 1.2.3
dlib 19.8.1
首先加载图片
Gal_Gadot_image = face_recognition.load_image_file("E:/Gal_Gadot_1.jpg")
Scarlett_Johansson_image = face_recognition.load_image_file("E:/Scarlett_Johansson.jpg")
unknown_image = face_recognition.load_image_file("E:/Gal_Gadot_2.jpg")
加载的图像为三维矩阵
对图片进行特征提取
Gal_Gadot_face_encoding = face_recognition.face_encodings(Gal_Gadot_image)[0]
Scarlett_Johansson_face_encoding = face_recognition.face_encodings(Scarlett_Johansson_image)[0]
unknown_face_encoding = face_recognition.face_encodings(unknown_image)[0]
face_recognition.face_encodings会返回图片中的所有的人脸的128位向量
因为是单人照片所以只取第一个元素
Gal_Gadot_face_encoding = face_recognition.face_encodings(Gal_Gadot_image)[0]
把人脸的特征向量保存起来
known_faces = [
Gal_Gadot_face_encoding,
Scarlett_Johansson_face_encoding]
把需要识别的图片与已经识别的图片进行对比
results = face_recognition.compare_faces(known_faces, unknown_face_encoding)
输出的结果
[True, False]
#结果识别正确
该图片用到的照片为盖尔加朵和斯嘉丽约翰逊
哈哈哈
网友评论