opencv实现人脸识别

import cv2
import matplotlib.pylab as plt
import numpy as np

def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

def imread(image):
    image = cv2.imread(image)
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    return image
def face_detect(image):
    image = imread(image)
    detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    rects = detector.detectMultiScale(image, scaleFactor=1.1, minNeighbors=2, minSize=(10, 10),
                                      flags=cv2.CASCADE_SCALE_IMAGE)

    for (x, y, w, h) in rects:
        # draw rect
        cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)

    show(image)

face_detect('face.jpg')

xml下载地址:

https://github.com/opencv/opencv/tree/master/data/haarcascades

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人脸检测与识别是计算机视觉与模式识别领域中重要的基础研究课题,随着人们安全 防范意识的的加强,这一基础研究在门禁系统的应用显得日益重要了。 本文阐述了国内外人脸检测识别技术研究及应用的发展现状,讨论了对人脸图像检测 和识别之前的图像预处理步骤,介绍了常见的人脸检测识别方法,重点分析了人脸检测的 一个重要机制:多个弱分类器集成的方法,即Viola等提出的基于AdaBoost的实时人脸检测 算法,该方法使用了Harr-like特征表示图像,引入了“积分图”概念,提高了特征值的计 算速度,采用AdaBoost方法生成强分类器,使用了级联“Cascade“策略提高人脸检测速度, 取得较好检测性能。详细的阐述了主成分分析(PCA)的人脸识别方法,即利用K-L变换抽 取人脸的主要成分,构成特征脸空间,以达到过滤出所有信息中占最大信息量的成分(主 成分),消除次成分,通过关联性特性,对重新构建的模型参数进行比较评测,是目前使 用最广泛的人脸识别基准方法。重点研究了人脸跟踪算法(Camshift)的优缺点,提出了 采用AdaBoost算法进行人脸定位,提取位置信息再将其作为初始化人脸跟踪窗口传递给 Camshift进行自动人脸跟踪的改进算法。 OpenCV(Open Source Computer Vision)是一个开源的计算机视觉库,支持 Windows, Linux,Mac OS,Android 等常见操作系统,代码移植性强。本文利用 OpenCV 开源库中 的一些数据类型如 CMat、IPlimage 和 OpenCV 提供的计算机视觉函数接口,通过实时摄 像头获取的人脸信息,编写程序实现人脸检测与识别门禁系统。最后对人脸识别率、检测 速度等指标进行了验证,实验证明,识别可信度为 82%,平均检测用时为 30 毫秒。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值