1 加载MediaPipe的人体姿势模型和KNN分类器。2 打开输入视频文件获取视频的帧率和分辨率。3 创建输出视频文件。4 处理视频文件中的每一帧: a 将帧转换为RGB格式。 b 处理人体姿势检测绘制人体骨架。 c 计算各个关键点之间的角度。 d 将角度数据输入KNN分类器进行预测得到动作类型。 e 在输出图片上显示角度值和动作类型。 f 将帧写入输出视频文件。 g
-
加载MediaPipe的人体姿势模型和KNN分类器:在程序开始之前,需要先加载人体姿势模型和KNN分类器。这些模型和分类器将用于检测人体姿势和预测动作类型。
-
打开输入视频文件,获取视频的帧率和分辨率:在处理视频之前,需要打开输入视频文件,并获取视频的帧率和分辨率。这些信息将用于后续处理。
-
创建输出视频文件:在处理视频的过程中,需要将处理结果写入输出视频文件。因此,在程序开始时,需要创建一个输出视频文件。
-
处理视频文件中的每一帧:在处理视频的过程中,需要对每一帧进行处理。具体的处理步骤如下:
a. 将帧转换为RGB格式:由于MediaPipe的人体姿势模型只支持RGB格式的图像,因此在进行人体姿势检测之前,需要将每一帧转换为RGB格式。
b. 处理人体姿势检测,绘制人体骨架:使用MediaPipe的人体姿势模型对当前帧进行人体姿势检测,并将检测结果绘制在当前帧上,以显示人体骨架。
c. 计算各个关键点之间的角度:根据人体骨架的检测结果,计算各个关键点之间的角度。这些角度将用于后续的动作类型预测。
d. 将角度数据输入KNN分类器进行预测,得到动作类型:将计算出的角度数据输入KNN分类器进行预测,得到当前帧的动作类型。
e. 在输出图片上显示角度值和动作类型:将计算出的角度值和预测的动作类型显示在当前帧的输出图片上。
f. 将帧写入输出视频文件:将处理后的帧写入输出视频文件。
g. 显示当前帧的结果:在处理完当前帧之后,将当前帧的处理结果显示出来。
h. 检测是否按下q键退出:在处理视频的过程中,需要不断检测是否按下q键退出。如果按下q键,则退出程序。
-
释放资源:在程序结束之前,需要释放所有的资源,包括人体姿势模型、KNN分类器、输入视频文件和输出视频文件等
原文地址: https://www.cveoy.top/t/topic/eF2l 著作权归作者所有。请勿转载和采集!