示例下载地址
import cv2
import numpy as np
import face_recognition
#获取图像
imgElon = face_recognition.load_image_file('MyPic/6.jpg')
imgElon = cv2.cvtColor(imgElon,cv2.COLOR_RGB2BGR)
imgTest = face_recognition.load_image_file('MyPic/3.jpg')
imgTest = cv2.cvtColor(imgTest,cv2.COLOR_RGB2BGR)
#识别人脸,在人脸位置获取四个点坐标
faceLoc = face_recognition.face_locations(imgElon)[0]
encodeElon = face_recognition.face_encodings(imgElon)[0]
#根据上面4个点画框 参数1:图片 参数2,3:对角线 参数4:长方形线条的粗细
cv2.rectangle(imgElon,(faceLoc[1],faceLoc[2]),(faceLoc[0],faceLoc[3]),(255,0,255),2)
faceLoc2 = face_recognition.face_locations(imgTest)[0]
encodeTest = face_recognition.face_encodings(imgTest)[0]
cv2.rectangle(imgTest,(faceLoc2[3],faceLoc2[0]),(faceLoc2[1],faceLoc2[2]),(123,452,333),2)
#人脸判断
result = face_recognition.compare_faces([encodeElon],encodeTest)
faceDistance = face_recognition.face_distance([encodeElon],encodeTest)
print(result,faceDistance)
cv2.putText(imgTest,f'{result}{round(faceDistance[0],2)}',(50,50),cv2.FONT_HERSHEY_COMPLEX,1,(0,0,255),2)
cv2.imshow('Elon Musk',imgElon)
cv2.imshow('Elon Test',imgTest)
cv2.waitKey(0)