face_recognition.api.face_landmarks(face_image, face_locations=None, model='large')
参数:
(1)face_image -要搜索的图像
(2)face_locations——可选地提供要检查的脸部位置列表。
(3)模型-可选-使用哪个模型。“大”(默认)或“小”。
“小” :只返回5点,但更快。
from PIL import Image, ImageDrawimport face_recognitiondef get_face_features(img_path): # 将jpg文件加载到numpy 数组中 image = face_recognition.load_image_file(img_path) # 查找图像中所有面部的所有面部特征 face_landmarks_list = face_recognition.face_landmarks(image, model='large') print("I found {} face(s) in this photograph.".format(len(face_landmarks_list))) # 输出第一个人脸的面部特征信息 print(face_landmarks_list[0]["chin"]) print(face_landmarks_list[0]["left_eyebrow"]) print(face_landmarks_list[0]["right_eyebrow"]) print(face_landmarks_list[0]["nose_bridge"]) print(face_landmarks_list[0]["nose_tip"]) print(face_landmarks_list[0]["left_eye"]) print(face_landmarks_list[0]["right_eye"]) print(face_landmarks_list[0]["top_lip"]) print(face_landmarks_list[0]["bottom_lip"]) pil_image = Image.fromarray(image) d = ImageDraw.Draw(pil_image) for face_landmarks in face_landmarks_list: facial_features = [ 'chin', 'left_eyebrow', 'right_eyebrow', 'nose_bridge', 'nose_tip', 'left_eye', 'right_eye', 'top_lip', 'bottom_lip' ] for facial_feature in facial_features: d.line(face_landmarks[facial_feature], width=5) pass pass del d pil_image.show() pass if __name__ == '__main__': get_face_features("0.jpg") pass结果如下所示:
第一个人脸的特征 信息 :


第二个人脸的特征信息:

from PIL import Image, ImageDrawimport face_recognitiondef get_face_features(img_path): # 将jpg文件加载到numpy 数组中 image = face_recognition.load_image_file(img_path) # 查找图像中所有面部的所有面部特征 face_landmarks_list = face_recognition.face_landmarks(image, model='small') print("I found {} face(s) in this photograph.".format(len(face_landmarks_list))) print(face_landmarks_list[0]["nose_tip"]) print(face_landmarks_list[0]["left_eye"]) print(face_landmarks_list[0]["right_eye"]) pil_image = Image.fromarray(image) d = ImageDraw.Draw(pil_image) for face_landmarks in face_landmarks_list: facial_features = [ 'nose_tip', 'left_eye', 'right_eye', ] for facial_feature in facial_features: d.line(face_landmarks[facial_feature], width=5) pass pass del d pil_image.show() pass if __name__ == '__main__': get_face_features("0.jpg") pass结果如下所示:


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删