100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > haar adaboost matlab 基于Haar+Adaboost人脸识别

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

时间:2020-03-07 19:05:04

相关推荐

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)

实现结果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。