【进阶OpenCV】 (17)-- Dlib库 --实现人脸检测

devtools/2024/10/21 16:18:13/

文章目录

  • Dlib库
    • 一、Dlib库安装
    • 二、实现人脸检测
      • 1. 生成人脸检测器
      • 2. 检测人脸
      • 3. 显示人脸
  • 总结

Dlib库

Dlib提供了丰富的图像处理计算机视觉工具,如面部特征检测、物体检测、图像变换等,这些工具使得开发者能够轻松地进行各种图像处理任务。

一、Dlib库安装

  1. pip install dlib –i 镜像地址

  2. 找到dlib库的whl文件进行安装

二、实现人脸检测

  • 图片

在这里插入图片描述

1. 生成人脸检测器

使用get_frontal_face_detector()函数方法生成人脸检测器:

该函数方法使用HOG算法、线性分类器、金字塔图像结构和滑动窗口检测等技术,比opencv提供的harr级联分类器效果更好。

import cv2
import dlib
detector = dlib.get_frontal_face_detector() # 构造脸部位置检测器HOG
img = cv2.imread('pic.jpg')

2. 检测人脸

  • 函数
faces = detector(img,n)使用人脸检测器返回检测到的人脸框
  • 参数
-- img:待检测的可能含有人脸的图像
-- n:表示采样上采样的次数。上采样会让图像变大,能够检测到更多的人脸,提高小人脸的检测效果通常建议设置为01.较大的值会增加检测的准确性,但会降低处理速度
-- 返回值faces:返回检测图像中的所有人脸框
  • 代码
faces = detector(img,1)
for face in faces: # 对每个人脸框进行逐个处理# 获取人脸框的坐标x1 = face.left()y1 = face.top()x2 = face.right()y2 = face.bottom()# 绘制人脸框cv2.rectangle(img,(x1,y1),(x2,y2),(0,255,0),2)

3. 显示人脸

# 显示捕获到的各个人脸框
cv2.imshow('result',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

总结

本篇介绍了如何通过Dlib库提供的get_frontal_face_detector()函数方法进行人脸检测。


http://www.ppmy.cn/devtools/127610.html

相关文章

java版Spring Cloud+Mybatis+Oauth2+分布式+微服务+实现工程管理系统

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管…

[C编程入门] 第七章:C语言中的文件操作

💖💖⚡️⚡️专栏:C编程入门-轻松入门/系统总结⚡️⚡️💖💖 [C编程入门] 专为C语言初学者设计,提供轻松易懂的入门教程与系统的知识总结。本专栏将带你从零开始,循序渐进地掌握C语言的核心概念…

创客项目秀 | 基于XIAO ESP32S3 Sense 的最小 DIY 相机

作者:Md. Khairul Alam 故事背景 我一直对间谍小工具和微型电子产品非常着迷。我一直想创造一个可以装在口袋里的微型相机,能够悄无声息地捕捉精彩瞬间。随着技术的进步和像 Xiao ESP32S3 Sense 这样功能强大的微控制器的出现,我终于有机会实…

webstorm 编辑器配置及配置迁移

1.下载地址 WebStorm:JetBrains 出品的 JavaScript 和 TypeScript IDE 其他版本下载地址 2.安装 点击下一步安装,可根据需要是否删除已有版本 注意: 完成安装后需要激活 3.设置快捷键 以下为个人常用可跳过或根据需要设置 如&#xff1a…

ONLYOFFICE 文档8.2版本已发布:PDF 协作编辑、改进界面、性能优化等更新

ONLYOFFICE 在线编辑器最新版本已经发布,其中包含30多个新功能和500多个错误修复。阅读本文了解所有更新。 关于 ONLYOFFICE 文档 ONLYOFFICE 是一个开源项目,专注于高级和安全的文档处理。坐拥全球超过 1500 万用户,ONLYOFFICE 是在线办公领…

2.5 windows xp,ReactOS系统快速系统调用的实现

windows xp,ReactOS系统快速系统调用的实现 windows xp,ReactOS系统快速系统调用的实现 文章目录 **windows xp,ReactOS系统快速系统调用的实现**快速系统调用进入R0我们看MSR寄存器中的内容到底是啥子快速系统调用返回PspLookupKernelUserE…

git add操作,文件数量太多卡咋办呢,

git add介绍 Git的add命令是用于将文件或目录添加到暂存区(也就是索引库),以便在后续的提交(commit)操作中一并上传到版本库的。具体来说,git add命令有以下几种常见用法: 添加单个文件&#…

java排序

Comparator与Comparable 如果有一个类,希望支持同类型的自定义比较策略,可以实现接口Compareable 如果某个类,没有实现Compareable接口,但是又希望对他进行比较,则可以自定义一个Comparator,来定义这个类的…