haar级联检测器

发布时间 2023-09-04 11:46:46作者: 沉梦昂志_doc

先在miniconda配置好相应的环境依赖;

在浏览器打开网站:

# 导入相关包
import cv2
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# plt.rcParams['figure.dpi'] = 200
# 找到对应的这个文件,我这里写的是绝对路径
pathf = 'D:\\masterResearch\\mediapipe_test\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_default.xml' face_detector = cv2.CascadeClassifier(pathf)
# 调节参数
# scaleFactor:调整图片尺寸 默认值是1.1
# minNeighbors: 指每一个人脸框最小的候选值,值越大,越可能是人脸(质量越高)
# minSize: 最小人脸尺寸
# maxSize: 最大人脸尺寸

# 有时候要在质量和数量上进行平衡

img = cv2.imread('./face/xj.JPG')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
detections  = face_detector.detectMultiScale(img_gray,scaleFactor = 1.5,minNeighbors = 4,minSize = (615,615))

# 解析检测结果
for (x,y,w,h) in detections:
    print(w,h)
    cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),5)
    
# 显示绘制结果
plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))

结果: