File size: 1,464 Bytes
d3dbf03
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Copyright (c) OpenMMLab. All rights reserved.
import os
import os.path as osp

import cv2

src_dir = 'data/multisports/trainval'
target_dir = 'data/multisports/rawframes'

sport_list = ['aerobic_gymnastics']
for sport in sport_list:
    video_root = osp.join(src_dir, sport)
    if not osp.exists(video_root):
        print('No {} video dir to generate rgb images.'.format(video_root))
        continue
    print('Will generate {} rgb dir for {}.'.format(
        len(os.listdir(video_root)), osp.basename(sport)))
    for clip_name in os.listdir(video_root):
        mp4_path = osp.join(video_root, clip_name)
        save_dir = osp.join(target_dir, sport, clip_name[:-4])
        if not osp.exists(save_dir):
            os.makedirs(save_dir)
        cap = cv2.VideoCapture(mp4_path)
        fps = cap.get(cv2.CAP_PROP_FPS)
        size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
                int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
        fourcc = cv2.VideoWriter_fourcc(*'I420')
        ii = 1
        while (cap.isOpened()):
            ret, frame = cap.read()
            aa = str(ii)
            s = aa.zfill(5)
            image_name = osp.join(save_dir + '/' + s + '.jpg')
            if ret is True:
                cv2.imwrite(image_name, frame)
            else:
                break
            ii = ii + 1
        cap.release()
        print('Generate {} rgb dir successfully.'.format(clip_name[:-4]))