译者 | 章雨铭 责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

在新加坡军队中,有一种测试叫做IPPT(个人身体素质测试)。这个测试的困难不在于它对体力的要求有多高,而在于用来计算做俯卧撑和仰卧起坐次数的电子机器。

和大多数人一样,我的俯卧撑动作总是不达标(根据机器的意见)。此外,由于缺乏参照机器标准的练习,许多NSMen(已经完成两年强制性服役的人)在IPPT测试中都难以取得好成绩。

因此,我决定使用mediapipe和OpenCV创建一个程序,跟踪我们的俯卧撑动作,确保我们每一个俯卧撑动作都达标。

由mediapipe姿势模块检测到的肢体关节

以上是这个程序的代码。

上面的代码来源于PoseModule.py,有以下几个功能:

激活mediapipe的姿势检测模块。

检测人体。

根据模型找到人体上不同肢体关节的位置。(肢体显示在上面的图片中)。

查找关节之间的角度(取决于你选择的关节)。对于我的俯卧撑程序,我选择找到肘部、肩部和臀部的角度,因为这些对俯卧撑动作的标准至关重要。

接下来是实际的俯卧撑计数的代码。我们使用PoseModule并确定一个俯卧撑合格与否的标准。

有个需要注意的地方在第17-21行。确定从相机捕捉到的图像的分辨率,并在绘制俯卧撑计数的矩形时调整像素值,等等。(第68-82行)。

我们完成了!一个能确保动作标准的俯卧撑计数软件。没有完全俯下?不算数! 膝盖放在了地上?不算数!

快乐的做俯卧撑吧!

《新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!

关键词: 健身也内卷这届网友用 Python 掌握了做标准俯卧撑的秘