一、dlib环境搭建

1)dlib安装,pip install dlib。参考:http://www.cnblogs.com/vipstone/p/8964656.html 。

2)训练模型下载;训练模型是人脸检测的关键,且能够查找人脸的关键点。下载地址:http://dlib.net/files/  ,下载文件为:shape_predictor_68_face_landmarks.dat.bz2,下载好后将其解压成dat文件以供使用。

二、图片人脸检测

1、技术实现思路

同OpenCV人脸检测,参考:https://mp.csdn.net/postedit/83018689

2、具体实现代码

#coding=utf-8
import cv2
import dlibpath = "meinv.jpg"
img = cv2.imread(path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#构建人脸检测器
detector = dlib.get_frontal_face_detector()
# 获取人脸关键点检测器
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")dets = detector(gray, 1) #人脸检测
for face in dets: #对检测到的矩形特征遍历(检测结果dets为矩形框的两个角点坐标,左上+右下)#将人脸检测矩形框绘制出来cv2.rectangle(img,(face.left(),face.top()),(face.right(),face.bottom()),(0,0,255),2)shape = predictor(img, face)  # 寻找人脸的68个标定点# 遍历所有点,打印出其坐标,并圈出来for pt in shape.parts():pt_pos = (pt.x, pt.y)cv2.circle(img, pt_pos, 2, (0, 255, 0), 1)cv2.imshow("image", img)cv2.waitKey(0)
cv2.destroyAllWindows()

三、视频人脸检测

1、技术实现思路

同OpenCV人脸检测,参考:https://mp.csdn.net/postedit/83018689

2、具体实现代码

def face_detect(img):gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#构建人脸检测器detector = dlib.get_frontal_face_detector()dets = detector(gray, 1) #人脸检测for face in dets: #对检测到的矩形特征遍历(检测结果dets为矩形框的两个角点坐标,左上+右下)#将人脸检测矩形框绘制出来cv2.rectangle(img,(face.left(),face.top()),(face.right(),face.bottom()),(0,0,255),2)import cv2cap = cv2.VideoCapture(0)
while(1):ret,img = cap.read()face_detect(img)cv2.imshow("Image",img)if cv2.waitKey(1) & 0xff == ord('q'):break
cap.release()
cv2.destroyAllWindows()

四、dlib与OpenCV对比

在人脸检测方面,dlib和OpenCV相比有如下优缺点:

1)识别精确度:dlib >= OpenCV,即dlib模型识别的准确率和效果要好于OpenCV;

2)dlib更多的人脸识别模型,可以检测出脸部68甚至更多的特征点;

3)dlib比较好资源,实时性差,视频人脸检测时有明显卡顿,OpenCV检测效果很流畅。

利用dlib进行人脸检测相关推荐

  1. Python 3 利用 Dlib 实现人脸检测和剪切

    0. 引言 利用 Python 开发,借助 Dlib 库进行人脸检测 / face detection 和剪切:   1. crop_faces_show.py : 将检测到的人脸剪切下来,依次排序平 ...

  2. python dlib人脸检测_Python 3 利用 Dlib 实现人脸检测和剪切

    0. 引言 利用 Python 开发,借助 Dlib 库进行人脸检测 / face detection 和剪切: 将检测到的人脸剪切下来,依次排序平铺显示在新的图像上: 实现的效果如 图1 所示,将 ...

  3. C++ | 利用C++进行人脸检测,人脸识别,情绪识别

    环境:win10,VS2022, 1.利用C++实现OpenCV和haarcascade人脸检测 1.1.下载一张有人脸的照片 1.2.下载haarcascade_frontalface_defaul ...

  4. dlib做人脸检测判断有没有检测到人脸

    dlib做人脸检测判断有没有检测到人脸 文章目录: 一.人脸检测 二.判断有没有检测到人脸 其实我用dlib 检测人脸只是用来做个触发条件,但是我不知道怎么判断有没有检测到人,因为从返回值只知道是一个 ...

  5. 利用OpenCV实现人脸检测

    如何在一副图片中检测到人脸,这涉及到计算机图形学中一些非常复杂的计算,如果这些计算都靠程序员自己来编程,那么工作量就相当大.OpenCV全称是Open Computer Vision,是指开放的计算机 ...

  6. python+opencv+dlib实现人脸检测与表情识别

    python+opencv+dlib实现人脸检测与表情识别 一,dlib简单介绍:Dlib包含广泛的机器学习算法.所有的设计都是高度模块化的,快速执行,并且通过一个干净而现代的C ++ API,使用起 ...

  7. dlib实现人脸检测方法

    文章目录 `dlib`概述 人脸检测 CPU版本人脸检测算法 检测步骤 示例代码: CUDA版本人脸检测算法 检测步骤 示例代码 类定义与接口源码 人脸检测中用到的重要的类(概述) `fhog_obj ...

  8. java dlib实现人脸检测_利用dlib库进行人脸检测

    一.dlib的使用 dlib需要预先的安装 ①安装Python还是推荐3.5 ②下载dlib的安装包 https://pypi.python.org/pypi/dlib/18.17.100 选择匹配的 ...

  9. 【Dlib】人脸检测、特征点检测、人脸对齐、人脸识别

    本文是利用dlib库,进行人脸检测.特征点检测.人脸对齐.所有前提是假设已经安装了dlib. 参考链接: 1.http://developer.51cto.com/art/201801/564529. ...

最新文章

  1. qt qgis linux,QGIS初识-Qt编译环境配置
  2. .net get set用法
  3. bzoj1874: [BeiJing2009 WinterCamp]取石子游戏
  4. python模块手册_python模块说明
  5. Python(39)_选出列表中的大于66的数字放在字典中
  6. Android 性能优化——绘制优化
  7. 实现主从关系Form中汇总行金额/数量
  8. zenmap 的扫描方式
  9. android 远程桌面连接闪退,远程桌面一点连接就闪退,不能弹出输入账号密码窗口...
  10. linux 下安装maven
  11. linux下sqlserver端口号,linux下连接sqlserver配置及otl编程.docx
  12. 微信小程序如何去掉button边框
  13. nodepad++通过正则表达式,删除带有特殊字符的某一行
  14. Linux上创建SSH隧道
  15. 电磁场理论复习笔记-第一章(下)
  16. matlab求dfa指数,关于使用MF-DFA方法计算广义Hurst指数的MATLAB操作问题
  17. VB6实现数组Slice()函数,可以像JS一样,切片出一个新数组
  18. Wireshark基础使用,SSL解密及http抓包入门教程
  19. python爬虫经典段子_Python爬虫实战:爬取内涵段子
  20. httpclient调用京东万象数字营销频道新闻api实例

热门文章

  1. 按产品经理能力划分,我们需要看哪些书?
  2. STM32进阶:使用STM32驱动ST7735S(内附核心源码)
  3. 双11预售日,淘宝竟然崩了!不熬夜的你们这么猛吗
  4. DFS算法解决数独问题
  5. 学校刚刚发生跳楼事件的说明
  6. 二进制人工智能 博客精选
  7. 男人善变的是心 女人善变的是脸
  8. 创建 Linux 目录结构
  9. APP开发需要具备的详细的技术方案
  10. 论文阅读——椭圆检测 2016 Robust ellipse detection with Gaussian mixture models