人工智能网致力于为中国广大企业、企业家和商界、经济界人士,以及全球华人经济圈提供实时、严谨、专业的财经、产业新闻和信息资讯媒体。

当前位置:人工智能网 > 智能终端 > 人工智能

人工智能

来源:互联网作者:王林更新时间:2021-01-12 06:56:09阅读:

上期文章我们分享了TensorFlow手写数字识别的文章TensorFlow手写数字识别,本期我们简单了解一下OpenCV的人脸识别之检测篇,检测是在图片或者视频中识别出人脸

在OpenCV中使用Haar特征检测人脸,那么需要使用OpenCV提供的xml文件(级联表)在haarcascades目录下。这张级联表有一个训练好的AdaBoost训练集。首先要采用样本的Haar特征训练分类器,从而得到一个级联的AdaBoost分类器。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。

当安装好后OpenCV3,有个/haarcascades文件夹,包含了所有OpenCV的人脸检测XML文件。

haarcascade_eye.xml

haarcascade_eye_tree_eyeglasses.xml

haarcascade_frontalcatface.xml

haarcascade_frontalcatface_extended.xml

haarcascade_frontalface_alt.xml

haarcascade_frontalface_alt_tree.xml

haarcascade_frontalface_alt2.xml

haarcascade_frontalface_default.xml

haarcascade_fullbody.xml

haarcascade_lefteye_2splits.xml

haarcascade_licence_plate_rus_16stages.xml

haarcascade_lowerbody.xml

haarcascade_profileface.xml

haarcascade_righteye_2splits.xml

haarcascade_russian_plate_number.xml

haarcascade_smile.xml

haarcascade_upperbody.xml

上述xml分别是人脸不同的部位模型,我们使用如下模型来识别人脸

haarcascade_frontalface_alt.xml

本期分享一下如何使用此模型来识别图片中的人脸

import cv2 # 导入

img = cv2.imread(r'D:\foxtable\example\image\li.jpg') # 导入图片

face = cv2.CascadeClassifier(r'D:\Program Files (x86)\Anaconda3\pkgs\libopencv-3.4.1-h875b8b8_3\Library\etc\haarcascades\haarcascade_frontalface_alt.xml') # 导入人脸模型

gray = cv2.cvtColor(img, cv2·COLOR_RGB2GRAY) # 灰度

faces = face.detectMultiScale(gray)

for (x, y, w, h) in faces: # 5个参数,一个参数图片 ,2 坐标原点,3 识别大小,4,颜色5,线宽

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

cv2.namedWindow('powers') # 创建窗口

cv2.imshow('powers_li', img) # 显示图片

cv2.waitKey(0) # 暂停窗口

cv2.destroyWindow() # 关闭窗口

# 关闭窗口

cv2.destroyAllWindows()

使用OpenCV的自带的模型库检测人脸很容易实现,下期我们分享一下如何从视频中检测到人脸

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

标题:人工智能

地址:http://ai.rw2015.com/smartt/5827.html

免责声明:人工智能网为网民提供实时、严谨、专业的财经、产业新闻和信息资讯,更新的内容来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系站长,本网站将立即予以删除!。

返回顶部