haar adaboost matlab,基于Haar+Adaboost人脸识别

主要步骤:加载.xml文件

加载图片

计算Haar特征(由OpenCV完成),对图片进行灰度处理

利用两个.xml文件检测,分别检测人脸及眼睛

通过绘制方框标出人脸及眼睛

其中haarcascade_frontalface_default.xml为脸部识别文件

其中haarcascade_eye.xml为眼睛识别文件

代码如下:import cv2

import numpy as np

face_xml = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 引入xml文件(file name)

eye_xml = cv2.CascadeClassifier('haarcascade_eye.xml')

# 引入人脸图片

img = cv2.imread('face.jpg')

cv2.imshow('src',img)

# 计算haar特征,opencv已经完成了计算,所以只需要转换成灰度图

gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)

# 检测

faces = face_xml.detectMultiScale(gray,1.3,5) # 人脸检测(灰度图数据,缩放系数,目标大小)

print('face =',len(faces))

# 绘制方框

for(x,y,w,h) in faces:

cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

roi_face = gray[y:y+h,x:x+w]

roi_color = img[y:y+h,x:x+w]

eyes = eye_xml.detectMultiScale(roi_face) # 仅给一个参数,其余使用默认值

print('eye =',len(eyes))

for(e_x,e_y,e_w,e_h) in eyes:

cv2.rectangle(roi_color,(e_x,e_y),(e_x+e_w,e_y+e_h),(0,255,0),2)

cv2.imshow('dst',img)

cv2.waitKey(0)

实现结果如下:

79ea7328a07db59f3e627105acf38265.png

c3ae34aa78cf9d0b808b36426fd511c8.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值