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

东莞百度网站快速排名怎么用.net做网站

东莞百度网站快速排名,怎么用.net做网站,校园网站设计开题报告,五莲县网站建设文章目录 前言一、dlib 库简介​1、Dlib库优缺点1)优点2)缺点 二、安装 dlib 库​1、Python 环境安装​2、C 环境安装​ 三、案例实现(python)1、对图片进行人脸识别2、使用摄像头或对视频检测人脸 总结 前言 一、dlib 库简介​ …

文章目录

  • 前言
  • 一、dlib 库简介​
    • 1、Dlib库优缺点
      • 1)优点
      • 2)缺点
  • 二、安装 dlib 库​
    • 1、Python 环境安装​
    • 2、C++ 环境安装​
  • 三、案例实现(python)
    • 1、对图片进行人脸识别
    • 2、使用摄像头或对视频检测人脸
  • 总结


前言


一、dlib 库简介​

dlib 是一个包含机器学习算法和工具的跨平台 C++ 库,同时也提供了 Python 接口,方便开发者使用。它涵盖了图像操作、机器学习、数据挖掘等多个领域的功能。在人脸检测方面,dlib 内置了基于 HOG(Histogram of Oriented Gradients,方向梯度直方图)和级联分类器的检测器,以及更为先进的基于深度学习的 CNN(Convolutional Neural Network,卷积神经网络)检测器。这些检测器经过大量数据训练,能够在不同光照、姿态、表情等复杂条件下,准确地检测出人脸,为后续的人脸识别、表情分析等任务奠定了坚实的基础。

1、Dlib库优缺点

1)优点

• 适用于正面和略微非正面的人脸

• 语法极简单

• 再小的遮挡下仍可工作。

2)缺点

• 不能检测小脸,因为它训练数据的最小人脸尺寸为80×80,较小尺寸的人脸数据需自己训练检测器

• 边界框通常排除前额的一部分甚至下巴的一部分

• 不适用于侧面和极端非正面,如俯视或仰视。

二、安装 dlib 库​

在开始使用 dlib 库进行人脸检测之前,我们需要先完成库的安装。以下是在不同环境下的安装方法:​

1、Python 环境安装​

如果你使用的是 Python 环境,推荐使用pip进行安装。在命令行中执行以下命令:​

pip install dlib​


需要注意的是,在某些系统上,直接使用pip install dlib可能会遇到编译问题。此时,可以先安装cmake和boost库,然后再安装dlib。以 Ubuntu 系统为例,安装命令如下:​

sudo apt-get install cmake​
sudo apt-get install libboost-all-dev​
pip install dlib​

2、C++ 环境安装​

对于 C++ 开发者,首先需要从 dlib 的官方 GitHub 仓库下载源代码,地址为:https://github.com/davisking/dlib 。下载完成后,解压文件,进入 dlib 目录,执行以下命令进行编译和安装:​

mkdir build​
cd build​
cmake..​
make​
sudo make install​


完成上述步骤后,dlib 库就成功安装到你的系统中,可以开始使用它进行人脸检测开发了。

三、案例实现(python)

1、对图片进行人脸识别

import cv2
import dlib# 使用HOG算法、线性分类器、金字塔图像结构和滑动窗口检测等技术。
# 比opencv提供的harr级联分类器效果更好
"""生成人脸检测器"""
detector = dlib.get_frontal_face_detector()   # 构造脸部位置检测器HOG
img = cv2.imread("people2.png")# 参数:image:待检测的可能含有人脸的图像。
# 参数n:表示采用上采样的次数。上采样会让图像变大,能够检测到更多人脸对象,提高小人脸的检测效果
# #通常建议将此參数设置为0 或 1。较大的值会增加检测的准确性,但会降低处理速度。
# 返回值faces:返回检测图像中的所有人脸。
faces = detector(img,3)   # 使用构造的脸部位置检测器HOG对图像进行检测,3表示上采样次数
for face in faces:   # 对每个人脸框进行逐个处理# 获取人脸框的坐标x1 = face.left()   # 获取左边像素点的x坐标y1 = face.top()   # 获取上边界y坐标x2 = face.right()   # 右边界x坐标y2 = face.bottom()   # 下边界y坐标# 绘制人脸框cv2.rectangle(img,(x1,y1),(x2,y2),(0,255,0),2)# 是不捕获到的各个人脸框
cv2.imshow("result",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

2、使用摄像头或对视频检测人脸

import cv2
import dlibdetector = dlib.get_frontal_face_detector()   # 构造脸部位置检测器HOGcap = cv2.VideoCapture('笑容.mp4')   # 读取视频帧
# cap = cv2.VideoCapture(0)  # 打开摄像头if not cap.isOpened():   # 如果打开失败print("Cannot open camera")exit()  # 终止程序while True:  # 建立死循环,用来不停地读取视频的每一帧画面ret, image = cap.read()  # 读取视频帧,返回读入状态的布尔值和图片,一次读取一帧画面if not ret:  # 读取失败,则退出循环print("不能读取摄像头")breakfaces = detector(image,0)   # 使用脸部位置检测器对每一帧画面进行识别,0表示上采样次数for face in faces:   # 对每个人脸框进行逐个处理x1 = face.left()y1 = face.top()x2 = face.right()y2 = face.bottom()# 绘制人脸框cv2.rectangle(image,(x1,y1),(x2,y2),(0,255,0),2)# 展示捕获到的各个人脸框cv2.imshow("result",image)k = cv2.waitKey(20)   # 每一帧画面执行20毫秒if k == 27:   # 如果键盘点击esc键,终止循环break
cv2.destroyAllWindows()   # 关闭所有窗口释放资源

总结

注意事项​:

  • 模型文件路径:在使用 CNN 检测器时,要确保预训练模型文件的路径正确,否则会导致检测器加载失败。​
  • 图像格式要求:不同的检测器对输入图像格式有不同的要求,如 HOG 检测器通常在灰度图像上进行检测,而 CNN 检测器要求输入为 RGB 格式图像,使用时要注意图像格式的转换。​
  • 环境兼容性:dlib 库在不同操作系统和 Python/C++ 版本下可能存在兼容性问题,安装和使用过程中遇到问题可以参考官方文档或社区论坛寻求解决方案。
http://www.dtcms.com/a/535709.html

相关文章:

  • IP5306 2.4A放电 2.1A充电 高集成度移动电源SOC
  • Qt5与Qt6的详细区别
  • Sui 主网升级至 V1.58.3
  • [优选算法专题五.位运算——NO.35~36 只出现一次的数字 II、消失的两个数字]
  • 晶台光耦KL101X:光伏发电系统的安全卫士与效率引擎
  • 普诚PT5139深度解析:功能特性、应用场景与技术优势
  • MCoT在医疗AI工程化编程的实践手册(下)
  • Qwen系列模型:WAN介绍
  • HarmonyOS大型项目架构与模块化开发指南
  • 怎呀做网站网站超级外链
  • 做游戏模型参考的网站保定网站建设制作开发平台
  • 【IoTDB】时序数据库选型迷茫?Apache IoTDB 为何成工业场景优选?
  • Linux系统编程—线程概念与控制
  • (122页PPT)华为初级项目管理培训(附下载方式)
  • GPT-OSS-20B昇腾NPU实战:从模型转换到42.85 tokens/s性能突破
  • 大模型请求/响应参数完全拆解:每个字段都是什么意思?
  • WIFI|硬件 Vanchip射频芯片 VC5776-11设计应用6
  • Java字符串深度解析:从内存模型到常用方法全掌握
  • 1688货源网官方网站专用车网站建设多少钱
  • 网站运营的目的及意义wordpress 颜色选择器
  • 【高阶数据结构】哈希表
  • 【Qt开发】容器类控件(二)-> QTabWidget
  • 模板进阶:从非类型参数到分离编译,吃透 C++ 泛型编程的核心逻辑
  • Springboot 局域网部署https解除安全警告
  • 封装map和set(红黑树作为底层结构如何实现map和set插入遍历)
  • 如何保证RabbitMQ不出现消息丢失?
  • 购物网站建设 属于信息系统管理与设计么?一个网站的制作特点
  • 如何快速进行时间序列模型复现(以LSTM进行股票预测为例)
  • Git 远程操作:克隆、推送、拉取与冲突解决
  • Telegram 被封是什么原因?如何解决?(附 @letstgbot 搜索引擎重连技巧)