【机器学习】利用AdaBoost实现人脸识别

import cv2

import numpy as np
import matplotlib.pyplot as plt
import random
import math

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
img = cv2.imread('01.jfif')
imgNew = cv2.resize(img,(1280,960),interpolation=cv2.INTER_LINEAR)
gray = cv2.cvtColor(imgNew, cv2.COLOR_BGR2GRAY)
#red = cv2.cvtColor(imgNew,cv2.COLOR_BGR2RGB)
faces = face_cascade.detectMultiScale(gray,1.1,1)
#eyes = eye_cascade.detectMultiScale(red,1.1,1)
for (x,y,w,h) in faces:
  r = random.randint(200, 255)
  g = random.randint(255-r, 255)
  b = random.randint(0, 50)
  roi_face= gray[y:y+h,x:x+w]
  cv2.circle(imgNew, (math.ceil(x+w/2), math.ceil(y+h/2)), (math.ceil((w+h)/4)), (b, g, r), 6)
  #eye = eye_cascade.detechMultiScale(roi_face)
  #cv2.circle(imgNew,(x,y),((w+h)),(0,0,255),2)#用颜色为BGR(255,0,0)粗度为2的线条在img画出识别出的矩型

cv2.imshow('img',imgNew)
cv2.waitKey(0)
#key = cv2.waitKey(0)
#if key==27:
#  cv2.destoryWindow('img')

 

参考:

使用python-cv2实现Harr+Adaboost人脸识别的示例 - python教程网

opencv-python · PyPI