| import sys |
| import os |
| from os import path |
| from shutil import copy2 |
|
|
| input_path = sys.argv[1] |
| output_path = sys.argv[2] |
| multiplier = int(sys.argv[3]) |
| image_path = path.join(input_path, 'JPEGImages') |
| gt_path = path.join(input_path, 'Annotations') |
|
|
| videos = sorted(os.listdir(image_path)) |
|
|
| for vid in videos: |
| os.makedirs(path.join(output_path, 'JPEGImages', vid), exist_ok=True) |
| os.makedirs(path.join(output_path, 'Annotations', vid), exist_ok=True) |
| frames = sorted(os.listdir(path.join(image_path, vid))) |
|
|
| num_frames = len(frames) |
| counter = 0 |
| output_counter = 0 |
| direction = 1 |
| for _ in range(multiplier): |
| for _ in range(num_frames): |
| copy2(path.join(image_path, vid, frames[counter]), |
| path.join(output_path, 'JPEGImages', vid, f'{output_counter:05d}.jpg')) |
|
|
| mask_path = path.join(gt_path, vid, frames[counter].replace('.jpg', '.png')) |
| if path.exists(mask_path): |
| copy2(mask_path, |
| path.join(output_path, 'Annotations', vid, f'{output_counter:05d}.png')) |
|
|
| counter += direction |
| output_counter += 1 |
| if counter == 0 or counter == len(frames) - 1: |
| direction *= -1 |
|
|