Python | 人脸识别系统 — 姿态检测
本博客为人脸识别系统的姿态检测代码解释
人脸识别系统博客汇总:人脸识别系统-博客索引
项目GitHub地址:Su-Face-Recognition: A face recognition for user logining
注意:阅读本博客前请先参考以下博客
工具安装、环境配置:人脸识别系统-简介
UI界面设计:人脸识别系统-UI界面设计
UI事件处理:人脸识别系统-UI事件处理
摄像头展示画面:人脸识别系统-摄像头画面展示
阅读完本博客后可以继续阅读:
摄像头画面展示:人脸识别系统-摄像头画面展示
用户端逻辑:
- 人脸识别:Python | 人脸识别系统 — 人脸识别
- 活体检测:Python | 人脸识别系统 — 活体检测
- 背景模糊:Python | 人脸识别系统 — 背景模糊
- 姿态检测:Python | 人脸识别系统 — 姿态检测
- 人脸比对:Python | 人脸识别系统 — 人脸比对
- 用户操作:Python | 人脸识别系统 — 用户操作
管理员端逻辑:
- 管理员操作:
- 用户操作:
一、判断器
首先判断是否打开摄像头,打开则判断 self.isAttitudeDetection_flag 是否打开姿态检测。若否,则调用attitude_detection方法,进行背景模糊。
# 主界面
class UserMainWindow(QMainWindow, UserMainUi):def __init__(self, parent=None):super(UserMainWindow, self).__init__(parent)self.setupUi(self)self.show_image = Noneself.cap = cv2.VideoCapture() # 相机self.source = CAPTURE_SOURCE # 相机标号self.WIN_WIDTH = 800 # 相机展示画面宽度self.WIN_HEIGHT = 500 # 相机展示画面高度self.isAttitudeDetection_flag = False # 是否打开姿态检测标志... ...# 姿态检测判别器def criticalPoint_detection_judge(self):if not self.cap.isOpened():QMessageBox.information(self, "提示", self.tr("请先打开摄像头"))else:if not self.isAttitudeDetection_flag:self.isAttitudeDetection_flag = Trueself.attitude_detection_button.setText("关闭姿态检测")self.attitude_detection()self.attitude_detection_button.setText("姿态检测")self.isAttitudeDetection_flag = Falseelif self.isAttitudeDetection_flag:self.isAttitudeDetection_flag = Falseself.attitude_detection_button.setText("姿态检测")self.show_camera()
二、姿态检测
# 姿态检测def attitude_detection(self):mp_pose = mp.solutions.pose # 姿态识别方法pose = mp_pose.Pose(static_image_mode=False, smooth_landmarks=True,min_detection_confidence=0.5, min_tracking_confidence=0.5)mp_draw = mp.solutions.drawing_utilswhile self.cap.isOpened():ret, frame = self.cap.read()QApplication.processEvents()imgRGB = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)results = pose.process(imgRGB)if results.pose_landmarks: # 如果检测到体态mp_draw.draw_landmarks(frame, results.pose_landmarks, mp_pose.POSE_CONNECTIONS) # 绘制姿态坐标点show_video = cv2.cvtColor(cv2.resize(frame, (self.WIN_WIDTH, self.WIN_HEIGHT)), cv2.COLOR_BGR2RGB)self.show_image = QImage(show_video.data, show_video.shape[1], show_video.shape[0],QImage.Format_RGB888)self.camera_label.setPixmap(QPixmap.fromImage(self.show_image))
阅读完本博客后可以继续阅读:
摄像头画面展示:人脸识别系统-摄像头画面展示
用户端逻辑:
- 人脸识别:Python | 人脸识别系统 — 人脸识别
- 活体检测:Python | 人脸识别系统 — 活体检测
- 背景模糊:Python | 人脸识别系统 — 背景模糊
- 姿态检测:Python | 人脸识别系统 — 姿态检测
- 人脸比对:Python | 人脸识别系统 — 人脸比对
- 用户操作:Python | 人脸识别系统 — 用户操作
管理员端逻辑:
- 管理员操作:
- 用户操作:
注:以上代码仅为参考,若需要运行,请参考项目GitHub完整源代码:Su-Face-Recognition: A face recognition for user logining
相关文章:
Python | 人脸识别系统 — 姿态检测
本博客为人脸识别系统的姿态检测代码解释 人脸识别系统博客汇总:人脸识别系统-博客索引 项目GitHub地址:Su-Face-Recognition: A face recognition for user logining 注意:阅读本博客前请先参考以下博客 工具安装、环境配置:人脸…...

为什么说网络安全行业是IT行业最后的红利?
前言 2023年网络安全行业的前景看起来非常乐观。根据当前的趋势和发展,一些趋势和发展可能对2023年网络安全行业产生影响: 5G技术的广泛应用:5G技术的普及将会使互联网的速度更快,同时也将带来更多的网络威胁和安全挑战。网络安全…...

谷粒商城二十四Sentinel限流熔断降级
我们在秒杀服务加的以上所有手段都是为了快,除了快之外,我们还需要保证稳定。 我们即使再快也会有一个极限值,现在假设单机下每秒处理一万个单,这已经是超高的处理能力了,秒杀服务上了五台服务器,有三台掉…...

STM32-HAL-SPI-W25Q128FV简单读写测试(2)
文章目录 一、Flash的基本读写操作1.1 向芯片中的某个地址(addr:0x02)连续写入不定长的数据并读取代码示例读写流程分析函数分析 1.2 向芯片中的某个地址(addr:0x00)写入一个数值代码示例:读写流程分析 具体的配置接上…...

网易一面:如何设计线程池?请手写一个简单线程池?
说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如极兔、有赞、希音、百度、网易的面试资格,遇到了几个很重要的面试题: 如何设计线程池? 与之类似的、其他小伙伴遇到过的问题还有: …...

网络安全之密码学
目录 密码学 定义 密码的分类 对称加密 非对称加密 对称算法与非对称算法的优缺点 最佳解决办法 --- 用非对称加密算法加密对称加密算法的密钥 非对称加密如何解决对称加密的困境 密钥传输风险 密码管理难 常见算法 对称算法 非对称算法 完整性与身份认证最佳解决…...

第14章 项目采购管理
文章目录 采购管理包括如下几个过程14.2 编制采购计划 462编制采购计划的输出1)采购管理计划2)采购工作说明书3)采购文件 14.2.3 工作说明书(SOW) 14.3 实施采购 47414.3.2 实施采购的方法和技术 476(1&…...
Vite+Vue下的多页面入口配置
我发现多页面入口配置在网上的资料比较乱,今天正好结合我们的开源API分析工具项目(APIcat)更新情况总结一下。 更新vite.config.js 主要配置的更新是在vite.config.js里面要增加build里的rollupOptions,因为vite底层使用了rollu…...

ChatGPT背后的打工人:你不干,有的是AI干
AI“出圈” 如今,数字技术发展速度惊人,AI提高了社会生产效率,更真切地冲击到原有的生产秩序。 年初AI技术的爆发,让国内看到了进一步降本增效的希望。 国内多家互联网企业相继推出类ChatGPT产品,复旦大学邱锡鹏教授…...

【Access】Access:SQL 语句汇总
目录 一、SQL 的功能 二、考试重点 三、关系的定义 (1)新建关系 (2)删除关系 四、SQL 的「数据查询」功能 (1)基本结构 ① Select 语句的基本结构 ② Select 子句 ③ Where 子句 ④ 空值的处…...

【小样本分割 2022 ECCV】SSP
文章目录 【小样本分割 2022 ECCV】SSP摘要1. 介绍2. 相关工作3. 自支持小样本语义分割3.1 动机3.2 自支持原型-SSM3.3 自适应自支持背景原型-ASBP3.4 自支持匹配-SSL 3. 代码 【小样本分割 2022 ECCV】SSP 论文题目:Self-Support Few-Shot Semantic Segmentation 中…...
Friendlycore增加inodes数量
背景:为Nanopim1安装了core系统,tf卡大小64G,安装后正常扩展到了整个tf卡,但是在安装hass的docker显示磁盘空间不够,最终发现是inode被用完了。其inode只有960K,但是16G卡树莓派系统的inodes都是其两倍。 一…...
Latex 定理和证明类环境(amsthm)和(ntheorm)的区别
最近在写毕业论文,出现了一些定理和证明的环境的问题,问题出现在对两个包的理解程度不够的问题上: \RequirePackage{ntheorem} 1、\newtheorem*{proof}{\hspace{2em}证:} 这个是让证明失去计数原则,该命令不能用于 amsthm 2…...
Yolov8改进---注意力全家桶,小目标涨点
💡💡💡💡💡💡💡💡💡💡注意力全家桶💡💡💡💡💡💡💡💡💡💡💡 基于Yolov8的注意力机制研究,提升小目标、遮挡物、难样本等检测性能...

[Linux]网络连接、资源共享
⭐作者介绍:大二本科网络工程专业在读,持续学习Java,输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Linux基础操作。本文主要是分享一些Linux系统常用操作,内容主要来源是学校作业,分享出来的…...

来上海一个月的记录、思考和感悟
作者 | gongyouliu 编辑 | gongyouliu 从4月3号早上来上海,到今天差不多整整一个月了,也是自己正式从杭州离职创业(我更愿意称之为自由职业者,毕竟我没有招聘全职员工,有两个朋友业余时间在帮我)的第一个月…...

学校信息化管理系统通常包含哪些功能?
学校管理信息化是现代教育发展的必然趋势,随着信息技术的飞速发展,学校管理也逐渐地实现了信息化。信息化的学校管理已经成为教育现代化建设的重要内容,也是提高学校教育教学质量和保障学生安全的重要手段。 作为一款低代码开发平台…...
Java时间类(三) -- Calendar()(日历类)
java.util.Calendar类是一个抽象类,它提供了日期计算的相关功能、获取或设置各种日历字段的方法。 protected Calendar() 构造方法为protected修饰,无法直接创建该对象。1. Calendar()的常用方法: 方法名说明static Calendar getInstance()使用默认时区和区域获取日历vo…...
【五一创作】QML、Qt Quick /Qt中绘制圆形
目录标题 Qt Quick中绘制圆形扩展知识Canvas 模块介绍Shapes 模块介绍 Qt Widgets 中绘制圆形两种方式的比较 Qt Quick中绘制圆形 有多种方法可以在 Qt Quick 中绘制圆形。以下是一些主要方法: 使用 Canvas 元素 使用 Shapes 模块: a. 使用 PathArc 和…...

【软考数据库】第七章 关系数据库
目录 7.1 关系数据库概述 7.2 关系代数 7.3 元组演算与域演算 7.4 查询优化 7.5 关系数据库设计 7.6 模式分解 前言: 笔记来自《文老师软考数据库》教材精讲,精讲视频在b站,某宝都可以找到,个人感觉通俗易懂。 7.1 关系数据…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...