人脸识别
# 概述
# 在Python中,可以通过人脸识别技术来查找相同人脸的图片。这通常涉及到以下几个步骤:人脸检测、特征提取、特征匹配和结果输出。
#
# 人脸检测
# 首先,需要检测图片中的人脸。可以使用OpenCV或dlib等库来实现人脸检测。
#
# Python
# 复制
import cv2
# 加载人脸检测器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 读取图片
img = cv2.imread('path_to_image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测人脸
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.imshow('Detected Faces', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 特征提取
# 接下来,需要从检测到的人脸中提取特征。可以使用dlib库中的预训练模型来提取人脸特征。
#
# Python
# 复制
import dlib
# 加载人脸检测器和特征提取器
detector = dlib.get_frontal_face_detector()
sp = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
facerec = dlib.face_recognition_model_v1('dlib_face_recognition_resnet_model_v1.dat')
# 读取图片
img = dlib.load_rgb_image('path_to_image.jpg')
# 检测人