haar级联检测器
先在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))
结果: