| from PIL import Image |
| import json |
| import os |
|
|
| def json_read(fname, **kwargs): |
| with open(fname) as j: |
| data = json.load(j, **kwargs) |
| return data |
|
|
|
|
| def json_save(fname, data, indent_len=4, **kwargs): |
| with open(fname, "w") as f: |
| s = json.dumps(data, sort_keys=True, ensure_ascii=False, |
| indent=" " * indent_len, **kwargs) |
| f.write(s) |
|
|
|
|
| def process_wb_from_txt(txt_path): |
| with open(txt_path, 'r') as fh: |
| txt = [line.rstrip().split() for line in fh] |
|
|
| txt = [[float(k) for k in row] for row in txt] |
|
|
| assert len(txt) in [1, 3] |
|
|
| if len(txt) == 1: |
| |
| txt = txt[0] |
|
|
| return txt |
|
|
|
|
| def process_ids_from_txt(txt_path): |
| with open(txt_path, 'r') as fh: |
| temp = fh.read().splitlines() |
| return temp |
|
|
|
|
| def save_txt(p, s): |
| with open(p, 'w') as text_file: |
| text_file.write(s) |
|
|
|
|
| def downscale_jpg(img_path, new_shape, quality_perc=100): |
| img = Image.open(img_path) |
| if (img.size[0], img.size[1]) != new_shape: |
| new_img = img.resize(new_shape, Image.ANTIALIAS) |
| new_img.save(img_path[:-len('.jpg')] + '.jpg', |
| 'JPEG', quality=quality_perc) |
|
|
|
|
| def rename_img(img_path): |
| if img_path.lower().endswith('jpeg'): |
| os.rename(img_path, img_path[:-len('jpeg')] + 'jpg') |
| else: |
| os.rename(img_path, img_path[:-len('JPG')] + 'jpg') |
|
|