HAAR与DLib的实时人脸检测之对比

本文对比分析了HAAR和DLib在实时人脸检测中的表现。HAAR方法简单快速,但识别效果受限,不适合现场应用。DLib采用64个特征点检测,识别率更高,实测效果优于HAAR。DLib的使用更简洁,检测稳定性强。
摘要由CSDN通过智能技术生成

人脸检测方法有许多,比如opencv自带的人脸Haar特征分类器和dlib人脸检测方法等。

对于opencv的人脸检测方法,优点是简单,快速;存在的问题是人脸检测效果不好。正面/垂直/光线较好的人脸,该方法可以检测出来,而侧面/歪斜/光线不好的人脸,无法检测。因此,该方法不适合现场应用。而对于dlib人脸检测方法采用64个特征点检测,效果会好于opencv的方法识别率会更高,本文会分别采用这几种方法来实现人脸识别。那个算法更好,跑跑代码就知道。

实时图像捕获

首先在进行人脸识别之前需要先来学点OpenCV的基础,起码知道如何从摄像头获取当前拍到的图像吧。OpenCV其实很简单,接下来的代码就是最基本的起步点。

第一步:打开本机上的摄像头,实例化VideoCapture

camera = cv2.VideoCapture(0)

开始第一帧图像的捕获,这个方法用来测试当前的摄像头是否可用

success, frame = camera.read()

success返回真时表示开始捕捉图像,反则表示摄像头打开失败,接下来就用最少的代码来打开摄像头并将当前的图像直接显示到一个窗口上,具体代码结构如下:

# learn_face /  cv_base.py
# coding=utf-8
from __future__ import print_function

import cv2

cameraCapture = cv2.VideoCapture(0)
success, frame = cameraCapture.read()

while success and cv2.waitKey(1) == -1:
    success, frame = cameraCapture.read()
    #TODO:在此处可放置各种对当前每一帧图像的处理
    cv2.imshow("Camera", frame)

cameraCapture.release()
cv2.destroyAllWindows()

将上述代码存为opencv_base.py然后在命令行直接运行查看效果:

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值