python 基于dlib库的人脸检测的实现


Posted in Python onNovember 08, 2019

本周暂时比较清闲,可以保持每日一更的速度。

国外身份证项目新增需求,检测出身份证正面的人脸。最开始考虑mobilenet-ssd,经同事提醒,有现成的人脸库dlib,那就用传统方法尝试一下。

dlib安装

dlib的安装小费一波周折,我的python版本是3.6,直接pip install dlib安装失败。https://pypi.org/project/dlib/19.6.0/找到python3.6对应的whl文件下载安装或者直接pip install dlib==19.6.0 提示Successfully installed dlib-19.6.0安装成功。事情没那么简单,import dlib时报错: ImportError: DLL load failed: 找不到指定的模块。

还是版本的问题,查找最新版本的whl :https://pypi.org/simple/dlib/

下载 dlib-19.8.1-cp36-cp36m-win_amd64.whl  然后cd到相应的目录下 pip install dlib-19.8.1-cp36-cp36m-win_amd64.whl

代码

import dlib
import cv2
import os
 
def resize(img, width=None, height=None, inter=cv2.INTER_AREA):
  """
  initialize the dimensions of the input image and obtain
  the image size
  """
 
  dim = None
  (h, w) = img.shape[:2]
 
  if width is None and height is None:
    return img
  if width is None:
    r = height / float(h)
    dim = (int(w * r), height)
  else:
    r = width / float(w)
    dim = (width, int(h * r))
  # resize the image
  resized = cv2.resize(img, dim, interpolation=inter)
  # return the resized image
  return resized
 
# 使用 Dlib 的正面人脸检测器 frontal_face_detector
detector = dlib.get_frontal_face_detector()
 
# 图片所在路径
imgs_path = 'test/'
filelist = os.listdir(imgs_path)
# 使用 detector 检测器来检测图像中的人脸
for img_path in filelist:
  img = cv2.imread(imgs_path + img_path)
  img = resize(img, width=512)
  faces = detector(img, 1)
  print("人脸数 / Faces in all: ", len(faces))
  for i, d in enumerate(faces):
    w = d.right() - d.left()
    h = d.bottom() - d.top()
    d_left = int(d.left() - w * 0.25)
    d_right = int(d.right() + w * 0.25)
    d_top = int(d.top() - w * 0.70)
    d_bottom = int(d.bottom() + w * 0.2)
    print("第", i + 1, "个人脸的矩形框坐标:",
       "left:", d_left, "right:", d_right, "top:", d_top, "bottom:", d_bottom)
    cv2.rectangle(img, tuple([d_left, d_top]), tuple([d_right, d_bottom]), (0, 255, 255), 2)
  cv2.imshow("img", img)
  cv2.waitKey(0)
  cv2.imwrite('./result.jpg',img)

随便网上找了张图测试,效果如下

python 基于dlib库的人脸检测的实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python抓取网页内容示例分享
Feb 24 Python
详解设计模式中的工厂方法模式在Python程序中的运用
Mar 02 Python
详解Python3中字符串中的数字提取方法
Jan 14 Python
Python正则表达式常用函数总结
Jun 24 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
python中实现将多个print输出合成一个数组
Apr 19 Python
Python中的Django基本命令实例详解
Jul 15 Python
Python 数据可视化pyecharts的使用详解
Jun 26 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
Python时间操作之pytz模块使用详解
Jun 14 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 #Python
python实现身份证实名认证的方法实例
Nov 08 #Python
Python Django框架模板渲染功能示例
Nov 08 #Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 #Python
Django框架下静态模板的继承操作示例
Nov 08 #Python
python中自带的三个装饰器的实现
Nov 08 #Python
python反转列表的三种方式解析
Nov 08 #Python
You might like
程序员编程十条戒律
2009/07/09 PHP
PHP中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
JSONP跨域请求
2017/03/02 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
Python访问纯真IP数据库脚本分享
2015/06/29 Python
Python之父谈Python的未来形式
2016/07/01 Python
详解Python实现按任意键继续/退出的功能
2016/08/19 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
2017/09/26 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
一名老师的自我评价
2014/02/07 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
基层工作经验证明样本
2014/11/16 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
python lambda 表达式形式分析
2022/04/03 Python
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL