极智项目 | 实战OpenCV戴口罩检测

2023-12-21 13:52

本文主要是介绍极智项目 | 实战OpenCV戴口罩检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注我的公众号 [极智视界],获取我的更多项目分享

大家好,我是极智视界,本文来介绍 实战 OpenCV 戴口罩检测项目。

本文介绍的 实战 OpenCV 戴口罩检测项目,提供完整的可以一键执行的项目工程源码,获取方式有两个:

(1) 本文工程项目资源下载,链接:https://download.csdn.net/download/weixin_42405819/88647402

(2) 【推荐】加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https://t.zsxq.com/0aiNxERDq

是否戴口罩的检测是在疫情期间一个很重要的任务,即使是现在疫情过去了,在某些特殊的场合也还是用得到摄像头自动化的戴口罩检测。这里提供的是 "实战 OpenCV 戴口罩检测",后面还会陆续提供基于 pytorch、基于 tensorflow、基于 paddle、基于 caffe、基于 mxnet、基于 keras 版本的实战戴口罩检测项目。这样,一方面可以直接带来这个任务的解决方案,另外还能熟悉熟悉不同的深度学习框架。堪称 "八错"。

其实这个项目本身比较简单,主要使用到了 OpenCV 的 dnn 库,具体是使用的 dnn 库调的 caffe 模型进行检测。而这其实也提供了一种部署思路:caffe 训练出 .caffemodel.prototxt,然后用 OpenCV dnn 库来做部署。项目提供完整的代码,包括推理代码、一键执行脚本、caffe 模型与模型权重、待检测的图片、检测后的效果图等。在拿到项目代码后,进行开发环境的配置,老习惯用 Anaconda3 管理 py 环境,如下,

# 安装Anaconda3的过程略过
# 采用conda来进行py环境的管理
conda create -n facemaskdet_py37 python=3.7# 激活py环境
conda activate facemaskdet_py37# 进入到项目目录
cd facemaskdet.opencv# 只需要一键执行 run_demo.sh 就能帮你装依赖和推理了
bash run_demo.sh  # 或 ./run_demo.sh

其中 run_demo.sh 的内容如下:

#!/bin/bashpip install -r requirement.txtpython facemaskdet_opencv.py --conf_thresh 0.4 \--iou_thresh 0.2 \--img-path img/005.jpg

脚本配置了可以通过外参 --img-path 来传递待检测图片,比如这里的待检测图片为 img/005.jpg。另外可控的参数还包括置信度阈值和 iou 阈值,可以通过外参 --conf_thresh 来设置置信度阈值;通过外参 --iou_thresh 来设置 iou 阈值。

下面展示了一些检测效果图,

可以看到,检测的效果还是不错的。

好了,以上分享了 实战OpenCV戴口罩检测,并提供完整的项目源码。希望我的分享能对你的学习有一点帮助。


【极智视界】

《极智项目 | 实战OpenCV戴口罩检测》

这篇关于极智项目 | 实战OpenCV戴口罩检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520240

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C