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

【亲测可用】图像目标识别入门-利用笔记本电脑摄像头识别人脸标记出来采用深度学习模型实现

更高的精度和准确性,可以考虑使用基于深度学习的人脸检测和识别方法,例如基于人脸特征的人脸检测器和具有高识别率的人脸识别模型。下面是使用基于深度学习的人脸检测和识别方法的代码示例:

  1. 首先,安装必要的库和模型:
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple

  1. 接下来,使用dlib库进行人脸检测和形状预测,确保您已经安装了dlib库:
pip install dlib -i https://pypi.tuna.tsinghua.edu.cn/simple

  1. 然后,使用face_recognition库进行人脸编码和识别,确保您已经安装了face_recognition库:
pip install face_recognition -i https://pypi.tuna.tsinghua.edu.cn/simple

  1. 编写下面的代码,它将使用上述库来实现更高精度的人脸检测和识别:
import cv2
import face_recognition# 读取图像并进行人脸检测
def detect_faces(image):# 将图像转换为RGB格式rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# 使用HOG人脸检测器检测人脸face_locations = face_recognition.face_locations(rgb_image, model='hog')return face_locations# 在图像中标记人脸
def mark_faces(image, face_locations):for top, right, bottom, left in face_locations:# 画一个矩形框标记人脸cv2.rectangle(image, (left, top), (right, bottom), (0, 255, 0), 2)return image# 打开摄像头
cap = cv2.VideoCapture(0)while True:# 读取摄像头的图像帧ret, frame = cap.read()# 进行人脸检测face_locations = detect_faces(frame)# 标记检测到的人脸marked_image = mark_faces(frame, face_locations)# 显示带有人脸标记的图像cv2.imshow('Face Detection', marked_image)# 检测按下键盘上的q键退出循环if cv2.waitKey(1) & 0xFF == ord('q'):break# 释放摄像头,关闭窗口
cap.release()
cv2.destroyAllWindows()

此代码使用dlib库进行基于HOG的人脸检测,并使用face_recognition库对检测到的人脸进行编码和识别。它能够提供更高精度和准确性的人脸检测和识别结果,但它可能会导致更高的计算资源需求。

请注意,虽然使用基于深度学习的人脸检测和识别方法可以提供更高的精度,但其识别准确性仍然可能受到多种因素的影响,例如光照条件、人脸角度和遮挡。因此,在特定应用场景中,可能需要进一步优化和调整参数,或使用更复杂的人脸识别模型来提高准确性。

注意事项:安装不指定版本的dlib并不会安装所需要的动态库,一运行会报错:

import face_recognition File "D:\anaconda3-2023.07-2\envs\test_env-py3.8\lib\site-packages\face_recognition\__init__.py", line 7, in <module> from .api import load_image_file, face_locations, batch_face_locations, face_landmarks, face_encodings, compare_faces, face_distance File "D:\anaconda3-2023.07-2\envs\test_env-py3.8\lib\site-packages\face_recognition\api.py", line 4, in <module> import dlib File "D:\anaconda3-2023.07-2\envs\test_env-py3.8\lib\site-packages\dlib\__init__.py", line 19, in <module> from _dlib_pybind11 import * ImportError: DLL load failed while importing _dlib_pybind11: 找不到指定的模块。

制定版本安装时提示cmake没有:

pip install dlib==19.22.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting dlib==19.22.0 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/11/93/ec41d6ef7e769977aa08e49441c52276da27859f12dcbf1c6deb96ce5e9f/dlib-19.22.0.tar.gz (7.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4/7.4 MB 14.4 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Building wheels for collected packages: dlib Building wheel for dlib (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [7 lines of output] running bdist_wheel running build running build_py running build_ext ERROR: CMake must be installed to build dlib [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for dlib Running setup.py clean for dlib Failed to build dlib ERROR: Could not build wheels for dlib, which is required to install pyproject.toml-based projects

以下步骤安装cmake:

以下步骤进行操作:

  1. 访问CMake的官方网站:https://cmake.org/download/ ,在页面上找到“Download”按钮,点击进入下载页面。

  2. 在Windows下,您可以选择下载安装程序(Windows win64-x64 Installer),根据您的操作系统位数(64位或32位)选择相应的安装程序。

  3. 下载完成后,双击运行下载的安装程序。如果出现用户控制提示,请点击“是”继续。

  4. 在安装程序中,您可以选择是否将CMake添加到系统的环境变量中。建议勾选此选项,这样CMake就可以在任何位置都能够访问。

  5. 点击“Next”按钮,选择合适的安装选项。

  6. 点击“Install”按钮开始安装。等待安装程序完成安装过程。

  7. 安装完成后,您可以在开始菜单中找到CMake,或者在命令提示符窗口中运行以下命令来验证安装:

    cmake --version
    

    如果命令能够正确执行并显示CMake的版本信息,则说明CMake已成功安装。

相关文章:

【亲测可用】图像目标识别入门-利用笔记本电脑摄像头识别人脸标记出来采用深度学习模型实现

更高的精度和准确性&#xff0c;可以考虑使用基于深度学习的人脸检测和识别方法&#xff0c;例如基于人脸特征的人脸检测器和具有高识别率的人脸识别模型。下面是使用基于深度学习的人脸检测和识别方法的代码示例&#xff1a; 首先&#xff0c;安装必要的库和模型&#xff1a;…...

数字孪生技术:煤矿运输的未来革命

煤矿是我国能源工业的重要支柱&#xff0c;然而&#xff0c;煤矿运输过程中一直存在着诸多问题&#xff0c;如安全隐患、能源浪费、效率低下等&#xff0c;这不仅对煤矿行业的可持续发展构成威胁&#xff0c;也对环境造成负面影响。因此&#xff0c;数字孪生技术应运而生&#…...

一些bug总结

今天被几个小问题和bug折磨了一天&#xff0c;来总结一下… 权限问题 用vscode连接服务器&#xff0c;如果是在root用户连接的情况下新建的文件/文件夹&#xff0c;然后切换到别的用户的时候去写的代码 可能会遇到各种问题 解决方案是更改文件或文件夹的所有权。这可以通过使用…...

第三章 内存管理 九、基本分段存储管理方式

目录 一、概括 二、什么是分段 三、段表 四、地址转换 五、分段和分页的对比 六、总结 一、概括 基本分段存储管理方式是一种操作系统的内存管理方式&#xff0c;采用这种方式&#xff0c;将进程所需的内存分成若干个段&#xff0c;每个段都可以单独进行管理和保护。 具…...

轻重链剖分+启发式合并专题

Codeforces-741D(Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths) 一棵根为1 的树&#xff0c;每条边上有一个字符&#xff08;a-v共22种&#xff09;。 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中…...

IRC/ML:金融智能风控—信贷风控场景简介、两大场景(贷款场景+信用卡场景)、信用卡评分模型设计、反欺诈检测技术的简介、案例应用之详细攻略

IRC/ML:金融智能风控—信贷风控场景简介、两大场景(贷款场景+信用卡场景)、信用卡评分模型设计、反欺诈检测技术的简介、案例应用之详细攻略 目录 信贷风控简介 信贷风控两大场景...

【学习笔记】RabbitMQ01:基础概念认识以及快速部署

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 一、认识RabbitMQ1.1 消息中间件&#xff08;MQ Message Queue 消息队列1.2 主流的消息中间件1.3 MQ的应用场景1.3.1 异步处理1.3.2 系统解耦1.3.3 流量削峰1.3.4 日志处理 二、RabbitMQ运行环境搭建…...

Java数据结构之第二十章、手撕平衡AVL树

目录 一、二叉平衡树 1.1二叉搜索树回顾以及性能分析 1.1.1二叉搜索树的概念 1.2二叉搜索树的查找 1.3二叉树查询性能分析 二、AVL树 2.1AVL树的概念 2.2AVL树节点的定义 2.3AVL树的插入 2.4AVL树的旋转 2.4.1新节点插入较高左子树的左侧---右单旋 2.4.2新节点插入较…...

SQL 在PostgreSQL中使用SQL将多行连接成数组

在本文中&#xff0c;我们将介绍如何使用SQL语言在PostgreSQL数据库中将多行数据连接成一个数组。在开发和分析应用程序时&#xff0c;我们经常需要将数据库中的多个行合并为一个&#xff0c;以便更方便地进行处理和分析。PostgreSQL提供了一种名为ARRAY_AGG的聚合函数&#xf…...

Ajax技术实现前端开发

一、原生AJAX 1.1AJAX 简介 AJAX 全称为Asynchronous JavaScript And XML,就是异步的JS 和XML。 通过AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。 1.2XML 简介 XML 可扩…...

WebMail:网页注册成功发送邮件

1.特别注意 isELIgnored"false" 如果没有这个El表达式无法识别 2.pre work pox.xml <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>…...

Electron之集成vue+vite开发桌面程序

在electron中集成vue开发桌面程序 使用我们之前创建的electron项目 创建vue 项目 命令行进入electron根目录 执行下面命令 npm create vitelatest vue -- --template vue这样就创建了一个vue项目&#xff0c;文件名是vue&#xff0c;命令行进入vue下&#xff0c;执行下面命…...

pycharm社区版创建Django项目的一种方式

pycharm社区版创建Django项目 pycharm创建New project安装django&#xff0c;如果安装过可略过安装完成后查看安装情况生成Django项目需要的文件这里注意生成语句后面的 . 不可以省略 生成文件后&#xff0c;框架搭建完成&#xff0c;配置启动我这里在配置完后&#xff0c;报了…...

Python configparser模块使用教程

文章目录 .ini 拓展名文件简介.ini 文件格式1. 节2. 参数3. 注解 configparser 模块简介configparser 模块的初始化和读取获取 ini 中所有 section获取 section 下的 key获取 section 下的 value获取指点section的所用配置信息修改某个key&#xff0c;如果不存在则会出创建检查…...

Kotlin + 协程 + Room 结合使用

文章目录 前言集成Room结合协程的使用总结 一、前言, 现在kotlin 是趋势&#xff0c;那必然就要用到协程&#xff0c;还有就是随着jetpack 的发力&#xff0c;带来了很多好用的库&#xff0c;比如今天提到Room&#xff0c;是一个类似greenDao的数据库。它不但支持kotlin协程…...

网工记背命令(6)----链路聚合配置

目录 1.配置手工负载分担模式链路聚合 2.配置LACP模式的链路聚合 3.HUAWEI设备与C厂商设备对接 链路聚合&#xff08;Link Aggregation&#xff09;是将多条物理链路捆绑在一起成为一条逻辑链路&#xff0c;从而增加链路带 宽的技术。 常用配置命令 1、执行命令 interface …...

使用 Service 把前端连接到后端

使用 Service 把前端连接到后端 如何创建前端&#xff08;Frontend&#xff09;微服务和后端&#xff08;Backend&#xff09;微服务。后端微服务是一个 hello 欢迎程序。 前端通过 nginx 和一个 Kubernetes 服务暴露后端所提供的服务。 使用部署对象&#xff08;Deployment ob…...

vue 如何优化首页的加载速度?vue 首页白屏是什么问题引起的?如何解决呢?

vue 如何优化首页的加载速度&#xff1f; 路由懒加载ui框架按需加载gzip压缩 vue首页白屏是什么问题引起的 第一种&#xff0c;打包后文件引用路径不对&#xff0c;导致找不到文件报错白屏 解决办法&#xff1a;修改一下config下面的index.js中bulid模块导出的路径。因为in…...

Android平台GB28181设备接入模块之SmartGBD

大牛直播SDK研发的Android平台GB28181设备接入SDK&#xff08;SmartGBD&#xff09;&#xff0c;可实现不具备国标音视频能力的 Android终端&#xff0c;通过平台注册接入到现有的GB/T28181—2016服务&#xff0c;可用于如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育…...

JVM第十三讲:调试排错 - JVM 调优参数

调试排错 - JVM 调优参数 本文是JVM第十三讲&#xff0c;调试排错 - JVM 调优参数。对JVM涉及的常见的调优参数和垃圾回收参数进行阐述。 文章目录 调试排错 - JVM 调优参数1、Jvm参数2、垃圾回收 问题1&#xff1a;线上ECS治理问题2&#xff1a;白龙马线上服务机JVM参数配置&a…...

Android Gradle权威指南读书笔记

第一章 Gradle入门 生成Gradle Wrapper 命令&#xff1a;gradle wrapper --gradle-version 版本号自定义Gradle Wrapper task wrapper(type : Wrapper) { gradleVersion 2.4 archiveBase GRADLE USER HOME archivePath wrapper/dists distributionBase GRADLE USER HOME …...

顺子日期(蓝桥杯)

文章目录 顺子日期问题描述答案&#xff1a;14字符串解题CC语言指针C语言函数 数组解题 顺子日期 问题描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小明特别喜欢顺子。顺子指的就是连续的三个数字&#xff1a;123、…...

攻防世界web篇-unserialize3

得出php代码残篇 将代码补全后再在线php运行工具中进行运行 在浏览器输入后得到下面的界面 这里需要将O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;} 改为 O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;}...

微信小程序 onLoad和onShow的区别

在微信小程序中&#xff0c;onLoad() 和 onShow() 是两个常用的生命周期函数&#xff0c;用于监听页面的加载和显示事件。这两个函数的区别如下&#xff1a; 触发时机 onLoad() 函数只会在页面加载时触发一次&#xff0c;而 onShow() 函数每次页面显示时都会被触发。因此&#…...

elementui select组件下拉框底部增加自定义按钮

elementui select组件下拉框底部增加自定义按钮 el-select组件的visible-change 事件&#xff08;下拉框出现/隐藏时触发&#xff09; <el-selectref"select":value"value"placeholder"请选择"visible-change"visibleChange">&…...

深入理解闭包:原理、应用与最佳实践

1、 什么是闭包&#xff1f; 如果一个函数内部定义了另一个函数&#xff0c;并且内部函数引用了外部函数的变量&#xff0c;那么内部函数就形成了一个闭包。 def outer_function(x):# 外部函数接受一个参数 x 是自由变量# seed 也是一个自由变量seed 10def inner_function(y…...

[NSSCTF 2nd]Math

原题py&#xff1a; from secret import flag from Crypto.Util.number import * import gmpy2length len(flag) flag1 flag[:length//2] flag2 flag[length//2:] e 65537m1 bytes_to_long(flag1) p getPrime(512) q getPrime(512) n p*q phi (p-1)*(q-1) d gmpy2.i…...

uml知识点学习

https://zhuanlan.zhihu.com/p/659911315https://zhuanlan.zhihu.com/p/659911315软件工程分析设计图库目录 - 知乎一、结构化绘图1. 结构化——数据流图Chilan Yuk&#xff1a;1. 结构化——数据流图2. 结构化——数据字典Chilan Yuk&#xff1a;2. 结构化——数据字典3. 结构…...

JAVA学习日记1——JAVA简介及第一个java程序

简单记忆 JAVA SE &#xff1a;标准版&#xff0c;核心基础 JAVA EE&#xff1a;企业版&#xff0c;进阶 JDK&#xff1a;Java Development Kit&#xff0c;Java开发工具包&#xff0c;包含JRE JRE&#xff1a;Java Runtime Environment&#xff0c;Java运行时环境&#xff…...

Linux命令(102)之less

linux命令之less 1.less介绍 linux命令less是一个文本文件查看工具&#xff0c;它以一种交互的方式&#xff0c;逐页地显示文本文件的内容&#xff0c;并且可以在文件中进行搜索等定位 2.less用法 less [参数] filename less参数 参数说明-N显示每行的行号-i忽略搜索时的大…...

开展建设文明网站活动方案/如何让百度搜索到自己的网站

查看分支&#xff1a; 创建分支&#xff1a; 切换分支&#xff1a; 分支其实可以理解就是一个工作单位&#xff0c;你在这个工作单位做了什么并不会在另一个显示&#xff0c;比如你创建了dev01分支&#xff0c;你在master分支中创建了.gitignore但是你如果在dev01分支下查看…...

宁波营销型网站建设优化建站/上海百度公司总部

经常遇到这样的情况&#xff0c;要取得所有客户的最新交易记录&#xff0c;读取网站所有浏览者最后一次访问时间。一个客户只读取最新的一次记录&#xff0c;相同&#xff0c;大部分的人首先想到的就是排除所有记录&#xff0c;相同的只取一条。用distint,但是distint只能取到一…...

给客户做一个网站ppt怎么做/外包seo服务口碑好

安装 Python 模块 作为一个流行的开源开发项目&#xff0c;Python拥有一个活跃的贡献者和用户支持社区&#xff0c;这些社区也可以让他们的软件可供其他Python开发人员在开源许可条款下使用。 这允许Python用户有效地共享和协作&#xff0c;从其他人已经创建的解决方案中受益于…...

wordpress 又拍/什么是交换链接

php中用cmd执行命令 关于cmd中执行命令路径包含空格的解决办法 1&#xff09;最简单的方法就是给路径名上加上“” 然后cd或执行即可&#xff1b; 2&#xff09;用缩写。比如c:\Program Files缩写为c:\Progra~1&#xff0c;再来刨根问底查查这个命名是否有规则&#xff0c;…...

哈尔滨网站建设制作哪家便宜/搜索引擎营销与seo优化

【零样本知识蒸馏】(八)CVPR 2020:Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion 论文地址:代码地址:主要思路:基本符号:知识蒸馏:DeepDream:具体实现:DI:ADI:实验结果:论文地址: https://arxiv.org/abs/1912.08795 代码地址: https…...

做医院的系统网站怎么做/优秀的软文

基于乐鑫ESP8266的SOC解决方案参考文章&#xff1a; &#xff08;1&#xff09;基于乐鑫ESP8266的SOC解决方案 &#xff08;2&#xff09;https://www.cnblogs.com/dapangsen/p/6392621.html &#xff08;3&#xff09;https://www.codeprj.com/blog/618b2d1.html 备忘一下…...