文章目录

  • 1. 项目简介
  • 2. 项目地址
  • 3. 依赖模块
  • 4. 完整代码
  • 5. 必要组件
    • 5.1. haar级联特征分类器(精度高)
    • 5.2. lbp级联特征分类器(速度快)
  • 6. 成果展示
    • 6.1. 测试样例1
    • 6.2. 测试样例2
    • 6.3. 测试样例3
  • 7. 对比分析
  • 8. 引用参考
  • 9. 相关推荐

1. 项目简介

利用opecvpython库及训练好的级联分类器实现人脸检测。

2. 项目地址

https://github.com/XavierJiezou/opecv-face-detect

3. 依赖模块

pip install opencv-python

4. 完整代码

import cv2def face_detect(file_name, cascade_name):img = cv2.imread(file_name) # 读取图片img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 图片灰度化img_gray = cv2.equalizeHist(img_gray) # 直方图均衡化face_cascade = cv2.CascadeClassifier(cascade_name) # 加载级联分类器faces = face_cascade.detectMultiScale(img_gray) # 多尺度检测for (x, y, w, h) in faces: # 遍历所有检测到的人脸img = cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 255), 5) # 绘制矩形框cv2.imshow('Face detection', img) # 检测效果预览cv2.waitKey(0) # 保持窗口显示if __name__ == "__main__":face_detect('test.jpg', 'haarcascade_frontalface_alt.xml')

5. 必要组件

opencv官方提供了8个已经训练好的人脸级联分类文件:

5.1. haar级联特征分类器(精度高)

  • haarcascade_frontalface_default.xml:点击下载

  • haarcascade_frontalface_alt.xml:点击下载

  • haarcascade_frontalface_alt2.xml:点击下载

  • haarcascade_frontalface_alt_tree.xml:点击下载

  • haarcascade_profileface.xml:点击下载

5.2. lbp级联特征分类器(速度快)

  • lbpcascade_frontalface.xml:点击下载
  • lbpcascade_frontalface_improved.xml:点击下载
  • lbpcascade_profileface.xml:点击下载

frontalface对正脸检测效果好,profileface专门针对侧脸进行检测。一般来说,haar特征检测精度更高,而lbp特征检测用时更短。

6. 成果展示

6.1. 测试样例1

  • haar

  • lbp

6.2. 测试样例2

  • haar

  • lbp

6.3. 测试样例3

  • haar

  • lbp

7. 对比分析

从测试结果来看,haar级联特征的alt人脸检测的精度是最高的,其次就是alt2,但如果对精度要求不高,可以采用lbp级联特征检测,因为这个花费的时间很短。

8. 引用参考

https://docs.opencv.org/master/db/d28/tutorial_cascade_classifier.html
https://docs.opencv.org/master/d2/d99/tutorial_js_face_detection.html

9. 相关推荐

【python】15行代码实现猫脸检测(opencv)

【python】15行代码实现动漫人脸检测(opencv)

【python】30行代码实现视频中的动漫人脸检测(opencv)

【python】15行代码实现人脸检测(opencv)相关推荐

  1. 100个Python实战项目(六)15 行代码进行人脸检测(使用Python 和 OpenCV)

  2. 人脸检测算法代码python_Python有多强大!20行代码实现人脸检测与识别

    题记:大二的时候发现人生苦短,所以信了拍神,开始学Python.学了大半年之后成功转行做前端了.来写个教程帮助大家入门Python. Python优点 Python是一种简单易学.功能强大的编程语言, ...

  3. 25 行 Python 代码实现人脸检测——OpenCV 技术教程

    安装 OpenCV 首选,你需要找到对应你的操作系统的正确设置文件. 我发现,安装 OpenCV 是最难的一个环节.如果你遇到奇怪的.无法解释的错误,有可能是库崩溃了.32 与 64 比特的兼容问题等 ...

  4. python 人脸检测 大胡子_Python | 50行代码实现人脸检测

    信息安全公益宣传,信息安全知识启蒙. 加微信群回复公众号:微信群:QQ群:16004488 加微信群或QQ群可免费索取:学习教程 教程列表见微信公众号底部菜单 现在的人脸识别技术已经得到了非常广泛的应 ...

  5. 就是这么霸道,使用OpenCV10行代码实现人脸检测

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 虽然互联网上有很多关于 OpenCV 的 Haar Cascade ...

  6. python人脸识别毕业设计-Python 40行代码实现人脸识别功能

    前言 很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了.这些人里包括曾经的我自己.其实如果如果你不是非要深究其中的原理,只是要实现这 ...

  7. 【python】15行代码实现猫脸检测(opencv)

    文章目录 1. 项目简介 2. 项目地址 3. 依赖模块 4. 完整代码 5. 必要组件 5.1. haar级联特征分类器(精度高) 5.2. lbp级联特征分类器(速度快) 6. 成果展示 6.1. ...

  8. Python到底有多强大?只需 15 行代码即可进行人脸检测

    无论你是最近开始探索OpenCV还是已经使用它很长一段时间,在任何一种情况下,您都一定遇到过"人脸检测"这个词.随着机器变得越来越智能,它们模仿人类行为的能力似乎也在增加,而人脸检 ...

  9. 如何用 200 行 JavaScript 代码实现人脸检测?

    在超市.地铁.车站等很多场景中,人脸识别已经被广泛应用,但是这个功能究竟是怎么实现的? 在本文中,将以 pico.js 库为例,分享实现轻量级人脸识别功能的具体开发过程 . 作者 | tehnokv ...

最新文章

  1. php 表单提交2次,微信开发之php表单微信中自动提交两次问题解决办法
  2. VC Studio 使用技巧大全(转)
  3. Cisco PT模拟实验(12) 路由器静态路由的配置
  4. python 直方图的绘制方法全解_python plotly绘制直方图实例详解
  5. python生成静态库_使用boost.python静态库
  6. 揭示C语言函数调用的本质解析
  7. 计算机仿真在哪学,计算机仿真软件有哪些
  8. springBoot+mybaits+达梦数据库
  9. 美国DHS向国会提交政府《移动设备安全研究》报告
  10. Quartus安装破解失败试了一些方法汇总
  11. 一级计算机考试如何移动文件夹,2010年职称计算机考试:文件或文件夹的移动...
  12. 如何在WhatsApp上阻止某人
  13. WRF嵌套网格的设计
  14. 数据分析[1.1]--拆解方法总结
  15. 2023牛客寒假算法基础集训营3(8/11)
  16. 2015物联网安全年报
  17. 华为Honor6打开开发者选项
  18. AutoCAD各版本对应的R版本参数值及其对应注册表中的数值(2002-2023)
  19. 会计与计算机发展现状及发展趋势,论会计电算化的发展现状和趋势分析
  20. libsvm安装使用及网格搜索法参数寻优

热门文章

  1. 函数指针与 std::function 简介
  2. 脉冲信号和电平的区别
  3. 服务器崩溃产生什么文件夹,我在我的src目录里有jiffy,但是当我运行时我的牛仔服务器崩溃了...
  4. 当你不想学习的时候,来看看大脑是怎么想的《摘抄与所想》
  5. 人工检查boke112联盟读者百强榜,超过30%的博客消亡
  6. P1289 身份证号码验证
  7. 树莓派 1602A显示屏
  8. 人类大脑皮层折叠的遗传结构
  9. ASP调用带参数存储过程的几种方式 (转)
  10. 学习毅力篇执行力:5个技巧把目标变为行动