python - 如何获取带有时间戳的帧,其中帧是从python中的视频转换的
问题描述
我想在将视频输入分类模型之前将其转换为帧。所以我需要从视频转换的每个唯一时间戳上的帧,这里时间戳是视频中的秒数。以下来自 opencv 的代码让我每捕获 10 帧就转换一次,但我需要视频中每一帧的时间戳。请让我知道,谢谢
import cv2
vidcap = cv2.VideoCapture('testing.mp4');
success,image = vidcap.read()
count = 0
success = True
while success:
success,image = vidcap.read()
print('read a new frame:',success)
if count%10 == 0 :
cv2.imwrite('frame%d.jpg'%count,image)
print('success')
count+=1
解决方案
这里首先我们必须获取视频的 FPS,然后使用 opencv 通过增加 count 变量来捕获帧。然后视频的count variable/fps给出视频中每一帧的时间戳。
import cv2
vidcap = cv2.VideoCapture('testing.mp4')
fps = vidcap.get(cv2.CAP_PROP_FPS)
success,image = vidcap.read()
count = 0
success = True
while success:
success,frame = vidcap.read()
count+=1
print("time stamp current frame:",count/fps)
推荐阅读
- reactjs - 十进制格式数 React
- powershell - 在 PowerShell 中使用枚举类型
- android - mpandroidchart中折线图的滚动完成监听器
- linux - 使用特定行删除多个目录中的文件
- javascript - 如何将用于创建密码的iv存储在nodejs的createcipheriv中,以供将来解密?
- r - R 数据表。需要使用分组和复杂条件过滤修改列
- android - Android:三星 Galaxy S5 上的浮点虚拟键盘
- python - 获取有序列表的所有有序子列表
- vb.net - 如何在关闭表单或单击按钮之前禁用外部交互?
- java - 将特定数据保存在数据库的 JTable 中