我的文件夹中有一个视频列表(每个视频 10 秒),我尝试循环播放每个动作视频以提取关键点并将其保存为 json 文件。
path = "path to video folder"
for file in os.listdir(path):
cap = cv2.VideoCapture(path+file)
while cap.isOpened():
try:
ret, frame = cap.read()
我遇到了一个问题,提取的数据有一些来自其他视频的关键点,我只想运行此代码,以视频完成的停止时间结束,暂停,开始下一个视频。我该如何帮助纠正这个问题?
如果您想依次处理多个视频,您可以检查
ret
的 cap.read()
(成功)值来检测每个文件的结尾。这是一个您可以开始的基本示例:
import os
import cv2
path = "videos"
for file in os.listdir(path):
print(file)
cap = cv2.VideoCapture(path + '/' + file)
count = 0
while True:
ret, frame = cap.read()
# check for end of file
if not ret:
break
# process frame
count += 1
print(f"{count} frames read")
cap.release()