python dlib人脸识别代码实例

  

本文实例为大家分享了python dlib人脸识别的具体代码,供大家参考,具体内容如下
  

        进口matplotlib。pyplot作为plt   进口dlib   进口numpy np   进口一滴   进口再保险      #正脸检测器   探测器=dlib.get_frontal_face_detector ()   #脸部关键形态检测器   sp=dlib.shape_predictor (r D: \磅\ JAVASCRIPT \ shape_predictor_68_face_landmarks.dat”)   #人脸识别模型   facerec=dlib.face_recognition_model_v1 (r D: \磅\ JAVASCRIPT \ dlib_face_recognition_resnet_model_v1.dat”)      #候选人脸部描述向量集   描述符=[]      photo_locations=[]      照片在glob.glob (r会:\磅\ JAVASCRIPT \面临\ * . jpg”):   photo_locations.append(图)   img=plt.imread(图)   img=np.array (img)      #开始检测人的脸   依据=检测器(img, 1)      k d在列举(依据):   #检测每张照片中人脸的特征   形状=sp (img d)   face_descriptor=facerec.compute_face_descriptor (img、形状)   v=np.array (face_descriptor)   descriptors.append (v)      #输入的待识别的人脸处理方法相同   img=plt.imread (r想:\ test_photo10.jpg”)   img=np.array (img)   依据=检测器(img, 1)   #计算输入人脸和已有人脸之间的差异程度(比如用欧式距离来衡量)   差异=[]   k d在列举(依据):   形状=sp (img d)   face_descriptor=facerec.compute_face_descriptor (img、形状)   d_test=np.array (face_descriptor)      #计算输入人脸和所有已有人脸描述向量的欧氏距离   因为我在描述符:   距离=np.linalg.norm (i-d_test)   differences.append(距离)      #按欧式距离排序欧式距离最小的就是匹配的人的脸   candidate_count=len (photo_locations)   candidates_dict=dict (zip (photo_locations差异))   candidates_dict_sorted=排序(candidates_dict.items(),关键=λx: x [1])      # matplotlib要正确显示中文需要设置   plt.rcParams['字体。家庭')=(无衬线的)   plt.rcParams['字体。无衬线']=[' SimHei ')      plt.rcParams['图。figsize ']=(20.0, 70.0)      ax=plt.subplot (candidate_count + 1 4 1)   ax.set_title(“输入的人脸”)   ax.imshow (img)      对于我,(照片、距离)列举(candidates_dict_sorted):   img=plt.imread(图)      face_name=" "   photo_name=re.search (r”([^ \ \] *) \ . jpg”美元,图)   如果photo_name:   face_name=photo_name [1]      ax=plt.subplot (candidate_count + 1 4 + 2)   ax.set_xticks ([])   ax.set_yticks ([])   ax.spines['高级'].set_visible(假)   ax.spines['正确'].set_visible(假)   ax.spines(“底部”).set_visible(假)   ax.spines['左'].set_visible(假)      如果我==0:   ax.set_title(“最匹配的人脸\ n \ n”+ face_name +“\ n \ n差异度:“+ str(距离))   其他:   ax.set_title (face_name +“\ n \ n差异度:“+ str(距离))   ax.imshow (img)      plt.show ()      之前      

 python dlib人脸识别代码实例

  

以上所述是小编给大家介绍的python dlib人脸识别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
  

python dlib人脸识别代码实例