400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

怎么在Python中利用OpenCV和Adaboost实现人脸识别功能-创新互联

这期内容当中小编将会给大家带来有关怎么在Python中利用OpenCV和Adaboost实现人脸识别功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联-专业网站定制、快速模板网站建设、高性价比隆子网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式隆子网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖隆子地区。费用合理售后完善,十多年实体公司更值得信赖。

首先讲讲需要用到的新函数:

CascadeClassifier()函数,导入分类器

cv2.CascadeClassifier('xxxxx.xml')
#haarcascade_frontalface_alt.xml脸部识别文件
#haarcascade_eye.xml眼部识别文件

函数的参数是xml完整路径(具体看你的opencv安装在哪里的,在opencv\sources\data\haarcascades下面),xml文件中是封装好的算法

detectMultiScale()函数,进行识别

detectMultiScale(image,scaleFactor,minNeighbors,flags,minSize,maxSize)

rectangle()函数,在图片上画矩阵

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

程序逻辑:

导入Haar级联分类器算法,读入要处理图片,将图片变成时候的大小,用detectMultiScale()函数先识别出人脸,在原图上框出,然后提取出识别出的人脸矩形框,在人脸矩形框内识别出眼睛,在原图上框出,展示出识别完的图像。

完整程序及注解:

import cv2
face_cascade = cv2.CascadeClassifier('D:\opencv\sources\data\haarcascades/haarcascade_frontalface_alt.xml')
eye_cascade = cv2.CascadeClassifier('D:\opencv\sources\data\haarcascades/haarcascade_eye.xml')
img1 = cv2.imread('face1.png')
img = cv2.resize(img1,(240,320),interpolation=cv2.INTER_LINEAR)
faces = face_cascade.detectMultiScale(img,1.2,2)
for (x,y,w,h) in faces:
  cv2.rectangle(img,(x,y),(x+w,x+h),(255,0,0),2)#用颜色为BGR(255,0,0)粗度为2的线条在img画出识别出的矩型
  face_re = img[y:y+h,x:x+w]#抽取出框出的脸部部分,注意顺序y在前
  eyes = eye_cascade.detectMultiScale(face_re)#在框出的脸部部分识别眼睛
  for (ex,ey,ew,eh) in eyes:
    cv2.rectangle(face_re,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('img',img)
key = cv2.waitKey(0)
if key==27:
  cv2.destoryWindow('img')

上述就是小编为大家分享的怎么在Python中利用OpenCV和Adaboost实现人脸识别功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


文章标题:怎么在Python中利用OpenCV和Adaboost实现人脸识别功能-创新互联
文章路径:http://www.bluegullmedia.com/article/pcssj.html

其他资讯

让你的专属顾问为你服务

0.0400s