通过遍历 ‘./image/face_catalogue’ 目录下图片素材,作为面部模板。
读取 “ceshi7.jpeg” 图片文件,面部识别,对符合人脸的区域进行面部相似度比对,相似度最高的进行标记。
import cv2
import numpy as np
import os
face_catalogue 面部目录
class Face_comparison():
def __init__(self,img,model,file_name):
# 人脸识别
self.faceCascade = cv2.CascadeClassifier("./venv/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml")
self.faceCascade_eye = cv2.CascadeClassifier("./venv/Lib/site-packages/cv2/data/haarcascade_eye.xml")
self.img = img
self.shape = img.shape
self.model = model
self.file_name = file_name
def Similarity(self):
# 截取图片面部区域,作为一个独立图片,用于保存或其他判断
cropped = self.img[self.y:self.y + self.w, self.x:self.x + self.h]
#图片灰度化
cropped = cv2.cvtColor(cropped, cv2.COLOR_BGR2GRAY)
#图片像素扩充与素材一致
cropped = cv2.resize(cropp