published on in Python

影像处理・人脸识别

返回教程主页

上篇 影像处理・目标检测

想要使用Python实现人脸识别也不是一件难事,使用face_recognition人脸识别开发库可以快速上手。

我们仍旧使用pip工具进行安装:

pip install face_recognition

载入已知人脸

首先我们需要载入已知人脸的图像「该图像中确定存在某人的脸」:

import face_recognition

picture_of_me = face_recognition.load_image_file('me.jpg')
my_face_encoding = face_recognition.face_encodings(picture_of_me)[0]

首先我们需要引入开发库import face_recognition;然后我们载入图像picture_of_me = face_recognition.load_image_file('me.jpg'),图像将被转换成numpy.ndarray类型的数据;接下来对图像中的人脸数据进行编码face_recognition.face_encodings(picture_of_me),该函数将以列表类型返回一串编码信息,如果图像中只有一张人脸,我们只需要取第0个编码。

载入未知人脸

接下来我们载入另一张含有人脸的图像:

unknown_picture = face_recognition.load_image_file('unknown.jpg')
unknown_face_encoding = face_recognition.face_encodings(unknown_picture)[0]

对比识别

将二者进行比对,完成人脸识别操作:

results = face_recognition.compare_faces([my_face_encoding], unknown_face_encoding)

if results[0] == True:
    print("It's a picture of me!")
else:
    print("It's not a picture of me!")

函数face_recognition.compare_faces第一个参数为列表类型,接收一串已知的人脸编码;第二个参数为待检测的人脸编码;返回值是一个列表类型的识别结果,列表中的每一项对应第一个参数已知人脸编码的每一项,例如: [True, False]表示待测的人脸被检测为已知列表中第0项编码所对应的人脸。

下篇 影像处理・视频编辑