首页 > 其他分享 >【进阶OpenCV】 (21) --卷积神经网络实现人脸检测

【进阶OpenCV】 (21) --卷积神经网络实现人脸检测

时间:2024-10-21 13:49:30浏览次数:7  
标签:进阶 -- 检测 模型 OpenCV 神经网络 人脸 CNN rect

文章目录

卷积神经网络实现人脸检测

opencv可以直接通过readnet来读取神经网络。dlib也可以的。

  • 任务:使用dlib库中的卷积神经网络(CNN)人脸检测模型来检测一张图片中的人脸,并使用OpenCV库在检测到的人脸周围绘制矩形框。

在这里插入图片描述

一、加载CNN人脸检测模型

这个模型可以用来检测图片中的人脸。

cnn_face_detector = dlib.cnn_face_detection_model_v1("mmod_human_face_detector.dat")

二、图像预处理

使用加载好的网络模型对图像进行处理,使用加载的CNN人脸检测模型对图片img进行人脸检测。

img = cv2.imread("pic.jpg")
faces = cnn_face_detector(img,0)
-- 0:是一个可选参数,表示对图像进行上采样次数(即图像的缩放级别),这里设置为0表示不进行额外的上采样。
-- faces:是一个包含检测到的人脸对象的列表。

三、绘制人脸矩形框

遍历每一个人脸列表,

for d in faces:
    # 计算每个人脸的位置
    rect = d.rect
    left = rect.left()
    top = rect.top()
    right = rect.right()
    bottom = rect.bottom()
    # 绘制人脸对应的矩形框
    cv2.rectangle(img,(left,top),(right,bottom),(0,255,0),3)
    cv2.imshow("result",img)
k = cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

总结

本篇介绍了如何通过使用dlib库中的卷积神经网络(CNN)人脸检测模型来检测一张图片中的人脸。

注意!!:为例减少模型的计算,使用加载的CNN人脸检测模型对图片进行人脸检测时,上采样次数可以少一点。

标签:进阶,--,检测,模型,OpenCV,神经网络,人脸,CNN,rect
From: https://blog.csdn.net/m0_74896766/article/details/143110525

相关文章

  • FineReport使用日期参数,计算指定日期的不同天数差
    一、计算每个客户在订购时间过去的不同时间范围内的货品价值和总运货费在帆软报表(FineReport)中,你可以使用时间参数来参与表格计算。时间参数可以用于过滤数据、计算日期差、分组汇总等。以下是如何在帆软报表中设置和使用时间参数的步骤,并将其应用于表格计算。步骤1:创......
  • 《最远的边陲》风灵月影修改器如何使用:修改器下载及使用说明
    使用《最远的边陲》风灵月影修改器可以帮助你在游戏中获得更多的资源和优势,从而更轻松地发展和管理你的城市。以下是详细的下载和使用说明,帮助你顺利使用这款修改器。使用教程第一步:点击链接进入修改器下载地址:https://download.yz3l.com/download/20240604/FLiNG_Trainer_......
  • 《怪物猎人:崛起》libcmn.dll丢失问题的深入修复指南
    《怪物猎人:崛起》是一款非常受欢迎的动作角色扮演游戏,但在运行时可能会遇到“libcmn.dll丢失”的错误。这个问题通常是由于缺少必要的文件或系统配置不正确导致的。以下是一个深入的修复指南,帮助你解决这个问题。重新安装游戏步骤:1.卸载游戏:•打开Steam,右键点击《怪物猎人:......
  • 《咒语力量3:陨落神明》遭遇dll丢失问题无法继续的解决方法
    遇到《咒语力量3:陨落神明》游戏中的dll文件丢失问题,可以采取以下几种解决方法:1.重新安装游戏:•这是最直接的方法,通过卸载游戏后再重新安装,可以确保所有必要的文件都被正确安装。2.安装或更新VisualC++Redistributable:•许多dll文件丢失的问题可以通过安装或更新Microsof......
  • Shell 主要的作用是什么
    Shell主要的作用:1.提供与操作系统交互的命令行界面;2.执行和管理系统命令和程序;3.脚本编程和自动化任务;4.环境配置和用户管理;5.管理文件和目录;6.进程控制和任务调度。Shell是用户与操作系统进行交互的主要界面,为用户提供了命令行界面。1.提供与操作系统交互的命令行界面......
  • 用人话讲计算机:小白版Python篇!(二)基本数据类型1和进制数
    一、数据类型上一节我们曾讲到a=1,b=2,c=“b”之类的东西,我们知道a,b,c叫做变量,而现在所谓的数据类型,其实就是1,2,“b”他们分别属于什么。而我们将数据们分为以下几个类型:1、整数整数,就是我们日常生活中的整数,如1,2,3,-1,-2,0,10,90之类。定义方式:a=12、浮点数浮点数,就是小数,如1......
  • 《女神异闻录5:皇家版》二十四项修改器风灵月影版高级功能全解析
    《女神异闻录5:皇家版》是一款非常受欢迎的角色扮演游戏,而“风灵月影”制作的二十四项修改器为玩家提供了许多强大的功能,可以帮助玩家更轻松地探索游戏世界。以下是该修改器的主要高级功能及其使用方法的详细解析:使用教程如下:第一步:点击链接进入修改器下载地址:https://downlo......
  • Generator(生成器)
    ◼生成器是ES6中新增的一种函数控制、使用的方案,它可以让我们更加灵活的控制函数什么时候继续执行、暂停执行等。平时我们会编写很多的函数,这些函数终止的条件通常是返回值或者发生了异常。◼生成器函数也是一个函数,但是和普通的函数有一些区别:首先,生成器函数需要在f......
  • 用人话讲计算机:小白版Python篇!(一)入门知识点和基本语法规范
    注:以下篇章都是用Pycharm写的,具体安装看我主页教程:2024最新:Python与PyCharm下载教程(含汉化!!!)一、什么是Python?标准版:Python是一种高级的、动态类型的编程语言,以其简洁的语法和丰富的库著称。‌Python由荷兰人吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品,它是一......
  • 【智能大数据分析 | 实验四】Spark实验:Spark Streaming
    【作者主页】FrancekChen【专栏介绍】⌈⌈⌈智能大数据分析⌋......