如何获取带有时间戳的帧,其中帧是从 python 中的视频转换而来的
how to get frames with timestamp where frames are converted from video in 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,然后通过递增 count 变量使用 opencv 捕获帧。然后视频的计数变量/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)
我想在将视频输入分类模型之前将其转换为帧。所以我需要从视频转换的每个唯一时间戳上的帧,这里时间戳是视频中的秒数。以下来自 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,然后通过递增 count 变量使用 opencv 捕获帧。然后视频的计数变量/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)