阅读量:4
前言
本文是该专栏的第20篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。
本文将基于OpenCV以及MediaPipe,来实现视频与摄像头中的人物,进行仰卧起坐的动态检测以及实时计数(本文进行人物的姿态识别,仅以人物的仰卧起坐的动态动作为例)。
具体细节部分以及完整代码的实现以及思路,跟着笔者直接往下看正文内容。(附带完整代码)
正文
1. 相关依赖库
老规矩,在项目开始之前,先提前准备好依赖库。如果所需依赖库未安装,则需要先提前安装好。至于安装方法,笔者在这就不过多详述了,不太明白的同学,直接往前翻阅本专栏之前的文章,里面都有详细介绍。
在本文中,我们所需的依赖库如下所示:
import cv2 # OpenCV库用于视频处理 import mediapipe as mp # Mediapipe库用于人体姿态检测 import numpy as np # NumPy库用于数学计算
2. 计算角度
首先,我们需要定义一个函数,用这个函数来计算三个关键点之间的角度,这主要用于判断视频中的人物仰卧起坐这个动作的完成状态。
函数代码,如下