| | 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']) |
| | |
| |
|