1. 加载MediaPipe的人体姿势模型和KNN分类器:在程序开始之前,需要先加载人体姿势模型和KNN分类器。这些模型和分类器将用于检测人体姿势和预测动作类型。

  2. 打开输入视频文件,获取视频的帧率和分辨率:在处理视频之前,需要打开输入视频文件,并获取视频的帧率和分辨率。这些信息将用于后续处理。

  3. 创建输出视频文件:在处理视频的过程中,需要将处理结果写入输出视频文件。因此,在程序开始时,需要创建一个输出视频文件。

  4. 处理视频文件中的每一帧:在处理视频的过程中,需要对每一帧进行处理。具体的处理步骤如下:

    a. 将帧转换为RGB格式:由于MediaPipe的人体姿势模型只支持RGB格式的图像,因此在进行人体姿势检测之前,需要将每一帧转换为RGB格式。

    b. 处理人体姿势检测,绘制人体骨架:使用MediaPipe的人体姿势模型对当前帧进行人体姿势检测,并将检测结果绘制在当前帧上,以显示人体骨架。

    c. 计算各个关键点之间的角度:根据人体骨架的检测结果,计算各个关键点之间的角度。这些角度将用于后续的动作类型预测。

    d. 将角度数据输入KNN分类器进行预测,得到动作类型:将计算出的角度数据输入KNN分类器进行预测,得到当前帧的动作类型。

    e. 在输出图片上显示角度值和动作类型:将计算出的角度值和预测的动作类型显示在当前帧的输出图片上。

    f. 将帧写入输出视频文件:将处理后的帧写入输出视频文件。

    g. 显示当前帧的结果:在处理完当前帧之后,将当前帧的处理结果显示出来。

    h. 检测是否按下q键退出:在处理视频的过程中,需要不断检测是否按下q键退出。如果按下q键,则退出程序。

  5. 释放资源:在程序结束之前,需要释放所有的资源,包括人体姿势模型、KNN分类器、输入视频文件和输出视频文件等


原文地址: https://www.cveoy.top/t/topic/eF2l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录