Open CV系列学习笔记(二十四)人脸检测 2021-02-18

本文介绍了人脸识别技术的基本概念和发展历程,重点讲解了如何使用OpenCV库进行人脸检测。通过调用预训练的级联分类器XML文件,可以实现在灰度图像上检测和标记人脸,并在图像上绘制矩形框。代码示例展示了如何读取图片或摄像头视频流,实时进行人脸检测。
摘要由CSDN通过智能技术生成

Open CV系列学习笔记(二十四)人脸检测

人脸检测

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。
人脸识别系统的研究始于20世纪60年代,80年代后随着计算机技术和光学成像技术的发展得到提高,而真正进入初级的应用阶段则在90年后期,并且以美国、德国和日本的技术实现为主;人脸识别系统成功的关键在于是否拥有尖端的核心算法,并使识别结果具有实用化的识别率和识别速度;“人脸识别系统”集成了人工智能、机器识别、机器学习、模型理论、专家系统、视频图像处理等多种专业技术,同时需结合中间值处理的理论与实现,是生物特征识别的最新应用,其核心技术的实现,展现了弱人工智能向强人工智能的转化。
OPencv主要通过调用训练好的级联分类器,以达到简单识别人脸的效果。
代码:

import cv2 as cv
import numpy as np


def face_detect_demo(image):
    gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
    face_detector = cv.CascadeClassifier(r'D:\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml')
    faces = face_detector.detectMultiScale(gray,1.1,5)
    for x,y,w,h in faces:
        cv.rectangle(image,(x,y),(x+w,y+h),(0,0,255),2)
    cv.imshow("result",image)


print("--------HEllow Python-------")
src = cv.imread("E:/picture/02.jpg")
capture = cv.VideoCapture(0)
cv.namedWindow("result",cv.WINDOW_AUTOSIZE)
while(True):
    ret,frame = capture.read()
    frame = cv.flip(frame,1)
    face_detect_demo(frame)
    c = cv.waitKey(10)
    if c == 27:
        break

#cv.imshow("input image",src)
#face_detect_demo()
cv.waitKey(0)


cv.destroyAllWindows()

结果:
在这里插入图片描述
也可以调用电脑摄像头,开启人脸检测;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值