Python软件设计基础 第二节(2)人脸特征距离测量

一、同一人年龄变化特征距离变化

#引入第三方库
import cv2
import face_recognition
import matplotlib.pyplot as plt
import numpy as np


#读取小李子少年时期的照片
known_image=cv2.imread('xlz1.jpeg')
known_image = face_recognition.load_image_file('xlz1.jpeg')
#读取小李子青年时期的照片
unknown_image=cv2.imread('xlz2.jpeg')
unknown_image = face_recognition.load_image_file('xlz2.jpeg')
#分析小李子少年时期的照片
known_encoding = face_recognition.face_encodings(known_image)[0]
print(known_encoding)
#分析小李子青年时期的照片
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]
print(unknown_encoding)

#将图片进行比对,并制定误差范围
results = face_recognition.compare_faces([known_encoding],
                                         unknown_encoding,
                                         tolerance=0.6)
#计算并输出图片对比详细数据差异dis=face_recognition.face_distance([known_encoding],unknown_encoding)
print(dis)
if results[0] == True:
    print("匹配成功,该未知图片与已有图片人脸可匹配!")
else:
    print("匹配失败!")
        
plt.imshow(known_image)
plt.axis('off')  #去掉坐标轴
plt.show()
plt.imshow(unknown_image)
plt.axis('off')  #去掉坐标轴
plt.show()

Python软件设计基础 第二节(2)人脸特征距离测量_第1张图片

二、比较像的演员之间的距离是多少

import cv2
import face_recognition
import matplotlib.pyplot as plt
#引入第三方库

known_image=cv2.imread("zly.jpg")
known_image=face_recognition.load_image_file("zly.jpg")
#读取赵丽颖的照片
 
known_encoding=face_recognition.face_encodings(known_image)[0]
#分析赵丽颖的照片
print(known_encoding)

unknown_image1=cv2.imread("lk.jpg")
unknown_image1=face_recognition.load_image_file("lk.jpg")
#读取替身演员的照片
 
unknown_encoding1=face_recognition.face_encodings(unknown_image1)[0]
#分析替身演员的照片
print(unknown_encoding)
 
results1=face_recognition.compare_faces([known_encoding],
                                       unknown_encoding1,
                                        tolerance=0.5)
#将图片进行比对,并制定误差范围
 
dis1=face_recognition.face_distance([known_encoding],unknown_encoding1)
print("赵丽颖与替身演员的详细对比数据差异:")
print(dis1)

if results[0] == True:
    print("匹配成功,该未知图片与已有图片人脸可匹配!")
else:
    print("匹配失败!")

plt.imshow(known_image)
plt.axis('off')  #去掉坐标轴
plt.show()
plt.imshow(unknown_image)
plt.axis('off')  #去掉坐标轴
plt.show()

 Python软件设计基础 第二节(2)人脸特征距离测量_第2张图片

 

你可能感兴趣的:(python,开发语言)