1.用cv2.imread()读取图片
import cv2 import numpy as np import matplotlib.pyplot as plt img = r"C:/Users/Curry/Desktop/winggs.png" img1 = cv2.imread(img)
2.用opencv人脸特征匹配算法,CascadeClassifier,是Opencv中做人脸检测的时候的一个级联分类器。并且既可以使用Haar,也可以使用LBP特征,检测出来的是X,Y,W,H
'''CascadeClassifier,是Opencv中做人脸检测的时候的一个级联分类器。并且既可以使用Haar,也可以使用LBP特征,检测出来的是X,Y,W,H'''
renlian_path = r"C:/Users/Curry/Desktop/cascades/haarcascade_frontalface_default.xml"
face_det = cv2.CascadeClassifier(renlian_path)
faces = face_det.detectMultiScale(img1)
print(faces)
[[277 80 88 88]]3.用for循环遍历x,y,w,h,绘制人脸区域
img1 = cv2.cvtColor(img1,cv2.COLOR_BGR2RGB) for x,y,w,h in faces: cv2.rectangle(img1,pt1 = (x,y), pt2 = (x+w,y+h), color = [255,0,0],thickness=2) plt.imshow(img1)
4.绘图库显示照片
人脸匹配算法上传至资源区!