Как получить кадры с меткой времени, где кадры конвертируются из видео в Python - PullRequest
0 голосов
/ 02 июля 2018

Я хочу преобразовать видео в кадры перед подачей его в модель классификации. Поэтому мне нужны кадры на каждой уникальной метке времени, конвертированной из видео, здесь метка времени - секунды в видео. Следующий код из 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

1 Ответ

0 голосов
/ 07 августа 2018

Здесь сначала мы должны получить FPS видео, а затем захватить кадры, используя opencv, увеличив переменную count. Затем переменная count / 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)
...