| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
|
|
| import os |
| import cv2 |
| import gc |
| import time |
|
|
| def get_output_folder(output_path, batch_folder): |
| out_path = os.path.join(output_path,time.strftime('%Y-%m')) |
| if batch_folder != "": |
| out_path = os.path.join(out_path, batch_folder) |
| os.makedirs(out_path, exist_ok=True) |
| return out_path |
|
|
| def save_image(image, image_type, filename, args, video_args, root): |
| if video_args.store_frames_in_ram: |
| root.frames_cache.append({'path':os.path.join(args.outdir, filename), 'image':image, 'image_type':image_type}) |
| else: |
| image.save(os.path.join(args.outdir, filename)) |
|
|
| def reset_frames_cache(root): |
| root.frames_cache = [] |
| gc.collect() |
|
|
| def dump_frames_cache(root): |
| for image_cache in root.frames_cache: |
| if image_cache['image_type'] == 'cv2': |
| cv2.imwrite(image_cache['path'], image_cache['image']) |
| elif image_cache['image_type'] == 'PIL': |
| image_cache['image'].save(image_cache['path']) |
| |
|
|