用python写一份人脸比对代码
时间: 2023-12-17 07:06:37 浏览: 80
当然可以,人脸比对是一项非常成熟的计算机视觉任务,可以使用Python中的第三方库如OpenCV或者dlib实现。如果你需要一个简单的示例,你可以参考下面的代码:
import cv2
import numpy as np
def face_match(img1_path, img2_path):
# 加载图像并进行预处理
img1 = cv2.imread(img1_path)
img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)
img1 = cv2.resize(img1, (224, 224))
img2 = cv2.imread(img2_path)
img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2RGB)
img2 = cv2.resize(img2, (224, 224))
# 加载预训练模型
model = cv2.dnn.readNetFromTorch('models/openface_nn4.small2.v1.t7')
# 提取人脸特征
blob1 = cv2.dnn.blobFromImage(img1, 1.0/255, (96, 96), (0, 0, 0), swapRB=True, crop=False)
blob2 = cv2.dnn.blobFromImage(img2, 1.0/255, (96, 96), (0, 0, 0), swapRB=True, crop=False)
model.setInput(blob1)
feature1 = model.forward()
model.setInput(blob2)
feature2 = model.forward()
# 计算相似度
dist = np.linalg.norm(feature1 - feature2)
return dist
# 调用函数进行比对
distance = face_match('img1.jpg', 'img2.jpg')
print('Distance:', distance)
注:这是一个简单的示例代码,实际实现时还需要考虑一些细节问题。
阅读全文
相关推荐















