上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库。

往期目录

视频人脸检测——Dlib版(六)
OpenCV添加中文(五)
图片人脸检测——Dlib版(四)
视频人脸检测——OpenCV版(三)
图片人脸检测——OpenCV版(二)
OpenCV环境搭建(一)

更多更新,欢迎访问我的github:https://github.com/vipstone/faceai

dlib与OpenCV对比

识别精准度:Dlib >= OpenCV

Dlib更多的人脸识别模型,可以检测脸部68甚至更多的特征点

效果展示

人脸的68个特征点

安装dlib

下载地址:https://pypi.org/simple/dlib/ 选择适合你的版本,本人配置:

Window 10 + Python 3.6.4

我现在的版本是:dlib-19.8.1-cp36-cp36m-win_amd64.whl

使用命令安装:

pip3 install D:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl

显示结果: Processing d:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl Installing collected packages: dlib Successfully installed dlib-19.8.1

为安装成功。

下载训练模型

训练模型用于是人脸识别的关键,用于查找图片的关键点。

下载地址:http://dlib.net/files/

下载文件:shape_predictor_68_face_landmarks.dat.bz2

当然你也可以训练自己的人脸关键点模型,这个功能会放在后面讲。

下载好的模型文件,我的存放地址是:C:\Python36\Lib\site-packages\dlib-data\shape_predictor_68_face_landmarks.dat.bz2

解压:shape_predictor_68_face_landmarks.dat.bz2得到文件:shape_predictor_68_face_landmarks.dat

代码实现

#coding=utf-8import cv2
import dlibpath = "img/meinv.png"
img = cv2.imread(path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#人脸分类器
detector = dlib.get_frontal_face_detector()
# 获取人脸检测器
predictor = dlib.shape_predictor("C:\\Python36\\Lib\\site-packages\\dlib-data\\shape_predictor_68_face_landmarks.dat"
)dets = detector(gray, 1)
for face in dets: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()

连载目录:

《OpenCV环境搭建(一)》

《图片人脸检测——OpenCV版(二)》

《视频人脸检测——OpenCV版(三)》

《图片人脸检测——Dlib版(四)》

更多动态,请关注我的GitHub:https://github.com/vipstone/faceai

图片人脸检测——Dlib版(四)相关推荐

  1. dlib php,图片人脸检测——Dlib版(四)

    上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库. 往期目录 dlib与OpenCV对比 识别精准度:Dlib >= OpenCV ...

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

    往期目录 视频人脸检测--Dlib版(六) OpenCV添加中文(五) 图片人脸检测--Dlib版(四) 视频人脸检测--OpenCV版(三) 图片人脸检测--OpenCV版(二) OpenCV环境搭 ...

  3. 图片人脸检测——OpenCV版(二)

    图片人脸检测 人脸检测使用到的技术是OpenCV,上一节已经介绍了OpenCV的环境安装,点击查看. 功能展示 识别一种图上的所有人的脸,并且标出人脸的位置,画出人眼以及嘴的位置,展示效果图如下: 多 ...

  4. 图片人脸检测——Dlib

    马上就五一了,发呆的时候想到了之前接触过一点儿的Dlib,在c++下的使用,正好今天有人问起了会不会OpenCV,于是- dlib与OpenCV对比:识别精准度:Dlib >= OpenCV,D ...

  5. 视频人脸检测——OpenCV版(三)

    视频人脸检测是图片人脸检测的高级版本,图片检测详情点击查看我的上一篇<图片人脸检测--OpenCV版(二)> 实现思路: 调用电脑的摄像头,把摄像的信息逐帧分解成图片,基于图片检测标识出人 ...

  6. JavaCV实现图片人脸检测

    之前写的文章 Java + OpenCV 实现图片人脸检测 很多同学反馈说要搭建环境很麻烦,  加上我换了电脑, 本身自己的opencv环境也丢了, 搭建环境的痛实在不想经历第二遍, 所以还是研究了以 ...

  7. 人脸检测dlib, mtcnnx对比,FDDB测试对比

    前面一直做人脸检测相关内容,然后对比了下dib以及MTCNN的人脸检测效果主要是速度,以及FDDB准确率.最后给出生成FDDB测试文件的C++代码. FDDB 测试结果 注本文的MTCNN效果检测准确 ...

  8. 人脸检测(十四)--MTCNN

    本文来自于中国科学院深圳先进技术研究院,目前发表在arXiv上,是2016年4月份的文章,算是比较新的文章.红色表示我在复现测试时的重要点. 论文地址: https://kpzhang93.githu ...

  9. 基于Opencv的图片人脸检测

    本篇内容介绍如何使用opencv,scipy,tensorflow来实现计算机人脸检测.(用一点也是用 =.=) 先声明一下,本篇内容是在图片中的人脸检测, 调动计算机摄像头的人脸识别链接: 链接:h ...

最新文章

  1. TOP语句与Order By语句
  2. JS函数运行在它们被定义的作用域内,而不是它们被执行的作用域内
  3. 微信小程序开发系列四:微信小程序之控制器的初始化逻辑
  4. C#中数组、ArrayList和List三者的区别(转) ,加修改
  5. 698A. Vacations
  6. qt绘制运动物体_手写QT贪吃蛇,小白高薪捷径-Qt开发
  7. pycharm中tensorflow代码不能自动补全或import红线问题解决
  8. 【原】linux下tar解压缩问题:time stamp in the future
  9. hadoop安装个人心得
  10. RetinaFace论文解读 --- RetinaFace: Single-stage Dense Face Localisation in the Wild
  11. 微信内置浏览器禁止调整字体大小的方法
  12. 在线大学计算机资源,计算机专业常用网站及数据库-计算机及自动化专业网上资源.ppt...
  13. 数组结构与算法-036-042 前中后缀表达式-逆波兰计算器
  14. 观察者模式与推拉模型
  15. iphone开发中使用动态库(dylib)和动态加载framework (获取iphone的IMSI和设置飞行模式)
  16. 自动化测试:Monkey环境的搭建(windows)
  17. 阿呆喵广告过滤 v1.9.0.1 官网版
  18. python每日一题:爬虫电影的动态票房信息
  19. word excel转换成html格式的文件,将PPTWORDEXCEL转换成html格式
  20. Redis6在Liunx系统下的安装、启动和关闭

热门文章

  1. 360 再次开源管理平台 Wayne:基于企业级 Kubernetes 集群
  2. 辛苦俩月总结的面试题,掌握它怼翻面试官不是梦~
  3. 求方程的解 Solve the Equation
  4. Windows 7 资源管理器搜索Channel 9 视频
  5. 记一则js替换字符串的问题
  6. matlab学习:人脸识别之LBP (Local Binary Pattern)
  7. android 本地地址转换为url,android本地mipmap图片转url、绝对路径转URL URL URI File Path 转换...
  8. linux mariadb 升级,linux mariadb
  9. 两年Java工作经验应该会些什么技术
  10. win10安装TortoiseGit