当前位置: 首页 > article >正文

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

文章目录

  • 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.kler.cn/news/363571.html

相关文章:

  • 探索Python与Excel的无缝对接:xlwings库的神秘面纱
  • 比较相同机器上 redis和mysql分别单独承载的 最大连接数量
  • 数据库的构成与手写简单数据库的探索
  • 我谈Sobel算子与高斯一阶微分的关系
  • c++实现跳表
  • FRIDA-JSAPI:Instruction使用
  • 家庭宽带的ip地址是固定的吗?宽带ip地址怎么修改‌
  • 深入理解 Webpack:现代前端开发的模块打包器
  • 二叉树习题其五【力扣】【算法学习day.12】
  • 【Flutter】页面布局:层叠布局(Stack、Positioned)
  • 实战:大数据冷热分析
  • 探索音频在线剪辑工具的奇妙世界
  • 设计一个算法,使第一个链表中仅留下三个表中均包含的结点,且没有数据值相同的结点,并释放LA中其他结点。
  • WPF 学习:知识要点、学习资源推荐
  • Nuxt.js 应用中的 builder:generateApp 事件钩子详解
  • 鸿蒙前端-1. 层叠效果
  • Liunx挂载nfts盘数据方法
  • 电脑格式化了还能恢复数据吗?
  • 关于瑆箫新博客上线的通知
  • 前端开发:Vue中数据绑定原理
  • Redis过期Key的逐出策略
  • 101. UE5 GAS RPG 实现范围技能奥术爆发表现
  • C语言数据结构之单向链表(SingleList)
  • 【C++ 算法进阶】算法提升六
  • 《Pyhon入门:yield关键字常用用法》
  • solana phantom NFT图片显示不出来?