(video_path, num_frames, sample='rand', fix_start=None, min_num_frames=4)
| 97 | |
| 98 | |
| 99 | def read_frames_folder(video_path, num_frames, sample='rand', fix_start=None, min_num_frames=4): |
| 100 | image_list = sort_frames(list(os.listdir(video_path))) |
| 101 | frames = [] |
| 102 | for image in image_list: |
| 103 | fp = os.path.join(video_path, image) |
| 104 | frame = Image.open(fp).convert('RGB') |
| 105 | frames.append(frame) |
| 106 | vlen = len(frames) |
| 107 | |
| 108 | t_num_frames = np.random.randint(min_num_frames, num_frames + 1) |
| 109 | |
| 110 | if vlen > t_num_frames: |
| 111 | frame_indices = get_frame_indices( |
| 112 | t_num_frames, vlen, sample=sample, fix_start=fix_start |
| 113 | ) |
| 114 | frames = [frames[i] for i in frame_indices] |
| 115 | return frames |
| 116 | |
| 117 | |
| 118 | class FrameSampler: |
nothing calls this directly
no test coverage detected