美文网首页
python+opencv人脸识别

python+opencv人脸识别

作者: breezez | 来源:发表于2019-04-08 21:15 被阅读0次
import cv2
import numpy as np

cv2.namedWindow("test") # Create a window
cap = cv2.VideoCapture(0) #Open camera one
success, frame = cap.read() #Read one frame

print("Camera open operation is: ", success);
color = (255,0,0) #Config the color
classfier = cv2.CascadeClassifier("D:\\project\\learn\\venv\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_alt.xml") #Make sure this xml file is in the same directory with py file
                                                                     #Otherwise change it to absolute directory. This xml file can be found in D:\My Documents\Downloads\opencv\sources\data\haarcascades

while success:
    success, frame = cap.read()
    size = frame.shape[:2] #
    image = np.zeros(size, dtype = np.float16) #
    image = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #
    cv2.equalizeHist(image, image) #
    #Below three lines config the minimal image size
    divisor = 8
    h, w = size
    minSize = ((int)(w/divisor), (int)(h/divisor))
    faceRects = classfier.detectMultiScale(image, 1.2, 2, cv2.CASCADE_SCALE_IMAGE, minSize) #Face detect
    if len(faceRects) > 0:#If face array length > 0
        for faceRect in faceRects: #Draw a rectangle for every face
                xf, yf, wf, hf = faceRect
                x = int((float)(xf))
                y = int((float)(yf))
                w = int((float)(wf))
                h = int((float)(hf))
                cv2.rectangle(frame, (x, y), (x + w, y + h), color)
                cv2.circle(frame, ((int)(x + 1.2 * w / 4), (int)(y + h / 3)), min((int)(w / 8), (int)(h / 8)), (255, 0, 0))
                cv2.circle(frame, ((int)(x + 2.8 * w / 4), (int)(y + h / 3)), min((int)(w / 8), (int)(h / 8)), (255, 0, 0))
                #cv2.rectangle(frame, ((int)(x + 3 * w / 8, (int)(y + 3 * h / 4))), ((int)(x + 5 * w / 8), (int)(y + 7 * h / 8)), (255, 0, 0))
    cv2.imshow("test", frame) #Display image

    key = cv2.waitKey(10)
    c = chr(key & 255)
    if c in ['q', 'Q', chr(27)]:
        break

cv2.destroyWindow("test")

相关文章

  • python+opencv人脸识别

  • 人脸识别技术 通识

    人脸识别技术 通识 1 人脸识别概要 2 人脸识别工作原理 3 人脸识别技术分类 4 人脸识别技术优缺点 5 人脸...

  • 都在说人脸识别有Bug,是真的吗?

    “人脸识别破解”“反人脸识别技术”“人脸识别漏洞”“人脸识别失误”“尽量不要用人脸识别”….网上N多这样的信息铺天...

  • 2020-06-09

    云卡通人脸识别系统含盖:动态人脸识别门禁管理系统、动态人脸识别消费系统、动态人脸识别考勤系统。其中动态人脸识别消费...

  • 人脸识别闸机安装知识

    随着人脸识别技术的成熟,人脸识别闸机越来越受欢迎,在选型上也丰富多样。人脸识别闸机包含人脸识别摆闸、人脸识别翼闸、...

  • 2020-07-28

    一、人脸识别系统具有广泛的应用:包括人脸识别出入管理系统、人脸识别门禁考勤系统、人面识别消费管理系统、人脸识别通道...

  • 人脸识别 -- 活体检测(张嘴摇头识别)

    一:简介 最近项目在做了身份证银行卡识别之后,开始实现人脸识别和活体识别,其中人脸识别包括人脸入库、人脸查找、人脸...

  • facexx解析:人脸识别技术市场在哪些领域?

    人脸识别技术经历了可见光图像人脸识别、三维图像人脸识别/热成像人脸识别、基于主动近红外图像的多光源人脸识别三层进化...

  • Android实现人脸识别(人脸检测)初识

    title: Android实现人脸识别(人脸检测)初识categories: Androidtags: 人脸识别...

  • h

    # 多人脸识别系统 [^]: by CathyZhang ## 背景 > 多人脸识别,又称为M:N人脸识别,主要用...

网友评论

      本文标题:python+opencv人脸识别

      本文链接:https://www.haomeiwen.com/subject/qelmiqtx.html