开发者社区> 磊哥聊Java> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

视频人脸检测——Dlib版(六)

简介: 往期目录 视频人脸检测——Dlib版(六)OpenCV添加中文(五)图片人脸检测——Dlib版(四)视频人脸检测——OpenCV版(三)图片人脸检测——OpenCV版(二)OpenCV环境搭建(一) 更多更新,欢迎访问我的github:https://github.com/vipstone/faceai 前言 Dlib的人脸识别要比OpenCV精准很多,一个是模型方面的差距,在一方面和OpenCV的定位有关系,OpenCV是一个综合性的视觉处理库,既然这么精准,那就一起赶快来看吧。
+关注继续查看

往期目录

视频人脸检测——Dlib版(六)
OpenCV添加中文(五)
图片人脸检测——Dlib版(四)
视频人脸检测——OpenCV版(三)
图片人脸检测——OpenCV版(二)
OpenCV环境搭建(一)
更多更新,欢迎访问我的github:https://github.com/vipstone/faceai

前言

Dlib的人脸识别要比OpenCV精准很多,一个是模型方面的差距,在一方面和OpenCV的定位有关系,OpenCV是一个综合性的视觉处理库,既然这么精准,那就一起赶快来看吧。

视频人脸检测是图片识别的高级版本,图片检测详情点击查看我的上一篇《图片人脸检测——Dlib版(四)》

除了人脸识别用的是Dlib外,还是用OpenCV读取摄像头和处理图片(转为灰色),所以给出相关的文档,方便理解。

效果预览

img_3e3e75469faef6bf0aa2da2556a2ac00.gif

技术实现

有了OpenCV的视频人脸检测,Dlib也大致相同除了视频识别器模型的声明和使用不同,具体的细节请参考,视频人脸检测——OpenCV版(三) 那篇已经讲的很细致了,在这就不具体叙述了。

完整的代码如下:

# coding=utf-8
import cv2
import dlib

detector = dlib.get_frontal_face_detector()  #使用默认的人类识别器模型


def discern(img):
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    dets = detector(gray, 1)
    for face in dets:
        left = face.left()
        top = face.top()
        right = face.right()
        bottom = face.bottom()
        cv2.rectangle(img, (left, top), (right, bottom), (0, 255, 0), 2)
        cv2.imshow("image", img)


cap = cv2.VideoCapture(0)
while (1):
    ret, img = cap.read()
    discern(img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

那么,OpenCV和Dlib的视频识别对比,有两个地方是不同的:

1.Dlib模型识别的准确率和效果要好于OpenCV;

2.Dlib识别的性能要比OpenCV差,使用视频测试的时候Dlib有明显的卡顿,但是OpenCV就好很多,基本看不出来;

img_fa0be433d68c8212b2b0b3b1a564ccb1.png
如果本文对你有所帮助,请打赏——1元就足够感动我:)
支付宝打赏微信打赏
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号: img_9bde0f31ac4a0eca10b1bd7414b78faf.png


作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【图像配准】基于surf实现图像特征点检测及图像拼接处理附matlab代码
【图像配准】基于surf实现图像特征点检测及图像拼接处理附matlab代码
18 0
人脸检测高级:疲劳检测
今天我们实现疲劳检测。 如果眼睛已经闭上了一段时间,我们会认为他们开始打瞌睡并发出警报来唤醒他们并引起他们的注意。我们测试一段视频来展示效果。同时代码中保留开启摄像头的的代码,取消注释即可使用。
104 0
What is Kotlin, and is it really worth it to learn it?
What is Kotlin, and is it really worth it to learn it? KOTLIN is a language developed by Jetbrains, Kotlin is declared as offi...
992 0
+关注
磊哥聊Java
是非审之于己,毁誉听之于人,得失安之于数。欢迎关注我的公众号「Java中文社群」
801
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载